相信你也在网上查过此类问题了,我给你瘦点我自己的理解吧:
数据结构讲的是数据在计算机数据处理中的逻辑结构与存储结构及其基本应用操作。
逻辑结构是指数据运算是的逻辑表示,比如a[3]={1,2,3}表示一个元素为3个的一维数组。
存储结构是指数据在计算机内存放的形式,比如a[3]={1,2,3}在计算机里怎么存放呢?计算机可以分配一块连续的存储单元一次放入1、2、3这三个元素。当计算机运算调用到a[3]时,就直接从这块连续的存储单元调入对应的元素。计算机还可以分配几块不连续的存储单元存放这三个元素,但每个存储单元里除了存放数据1、2、3外必须还有其他辅助信息,比如,下一个存储单元地址,是否结束等信息。这就是存储结构。
数据结构还会涉及到数据结构的一些应用比如查找、排序、文件等。
数据结构是学习计算机知识的基础学科,对于后续计算机知识的进一步学习很重要,如果想在计算机方面深造的话,建议好好学习!
给你附个数据结构经典教材的目录:
数据结构(C语言版)(附光盘1张)(清华大学计算机系列教材)
目录
第1章 绪论
11 什么是数据结构
12 基本概念和术语
13 抽象数据类型的表现与实现
14 算法和算法分析
第2章 线性表
21 线性表的类型定义
22 线性表的顺序表示和实现
23 线性表的链式表示和实现
24 一元多项式的表示及相加
第3章 栈和队列
31 栈
32 栈的应有和举例
33 栈与递归的实现
34 队列
35 离散事件模拟
第4章 串
41 串类型的定义
42 串的表示和实现
43 串的模式匹配算法
44 串操作应用举例
第5章 数组和广义表
51 数组的定义
52 数组的顺序表现和实现
53 矩阵的压缩存储
54 广义表的定义
55 广义表的储存结构
56 m元多项式的表示
57 广义表的递归算法第6章 树和二叉树
61 树的定义和基本术语
62 二叉树
621 二叉树的定义
622 二叉树的性质
623 二叉树的存储结构
63 遍历二叉树和线索二叉树
631 遍历二叉树
632 线索二叉树
64 树和森林
641 树的存储结构
642 森林与二叉树的转换
643 树和森林的遍历
65 树与等价问题
66 赫夫曼树及其应用
661 最优二叉树(赫夫曼树)
662 赫夫曼编码
67 回溯法与树的遍历
68 树的计数
第7章 图
71 图的定义和术语
72 图的存储结构
721 数组表示法
722 邻接表
723 十字链表
724 邻接多重表
73 图的遍历
731 深度优先搜索
732 广度优先搜索
74 图的连通性问题
741 无向图的连通分量和生成树
742 有向图的强连通分量
743 最小生成树
744 关节点和重连通分量
75 有向无环图及其应用
751 拓扑排序
752 关键路径
76 最短路径
761 从某个源点到其余各顶点的最短路径
762 每一对顶点之间的最短路径
第8章 动态存储管理
81 概述
82 可利用空间表及分配方法
83 边界标识法
831 可利用空间表的结构
832 分配算法
833 回收算法
84 伙伴系统
841 可利用空间表的结构
842 分配算法
843 回收算法
85 无用单元收集
86 存储紧缩
第9章 查找
91 静态查找表
911 顺序表的查找
912 有序表的查找
913 静态树表的查找
914 索引顺序表的查找
92 动态查找表
921 二叉排序树和平衡二叉树
922 B树和B+树
923 键树
93 哈希表
931 什么是哈希表
932 哈希函数的构造方法
933 处理冲突的方法
934 哈希表的查找及其分析
第10章 内部排序
101 概述
102 插入排序
1021 直接插入排序
1022 其他插入排序
1023 希尔排序
103 快速排序
104 选择排序
1041 简单选择排序
1042 树形选择排序
1043 堆排序
105 归并排序
106 基数排序
1061 多关键字的排序
1062 链式基数排序
107 各种内部排序方法的比较讨论
第11章 外部排序
111 外存信息的存取
112 外部排序的方法
113 多路平衡归并的实现
114 置换一选择排序
115 最佳归并树
第12章 文件
121 有关文件的基本概念
122 顺序文件
123 索引文件
124 ISAM文件和VSAM文件
1241 ISAM文件
1242 VSAM文件
125 直接存取文件(散列文件)
126 多关键字文件
1261 多重表文件
1262 倒排文件
附录A 名词索引
附录B 函数索引
参考书目
很显然你首先需要会一门编程语言。数据结构可以在不同的语言下实现,你可以看常用的数据结构教材,有的基于C,有的基于JAVA,所以在学习数据结构与算法之前,先学会一门语言是很有必要的事情。
因为数据结构书中很多内容用到的都是C语言伪代码,如果不懂C语言的话应该是看不懂的。多了解一下点C语言、数据类型、循环分支、结构体、指针等基本知识。一般来说,学习完c语言之后,效率会比较高点,另外数学好的话对理解算法是有好处的,动态规划啊,决策树啊之类的,具体的知识可以去小码哥李明杰了解。
因为数据结构是需要编程实现的。在内容上,数据结构很大一部分是独立的,但也有一部分与其它课程有关,比如离散数学,线性代数等,不过也没多大影响,书上都带有详细介绍。数据结构理论性很强,需要多动手写代码,理解好原理,而且会编程实现,这两方面都很重要。
大学如果不是计算机专业,数据结构一般都是选修课,我们学的是数据结构和算法分析,是英文的,data structures and algorithm,主要是lists,stacks,queues,trees,graph algorithm,sorting and selection algorithm。
其中最主要的是lists(线性表),stacks(栈),queues(队列)还有trees(主要二叉树,树的递归和非递归遍历)。
学习数据结构首先,你要有一定的c语言基础。
其次,要了解数据结构到底是什么东西数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
最后,了解几项基本的常用结构,如:线性表,栈,队列,二叉树,图等等。
在编写算法和程序之前,了解算法的逻辑关系是非常重要的,比如栈后进先出的特点等等。
在编写程序时,最好一步一步来,比如在编写线性表的基本操作时,可以先编写线性表的建立、初始化,然后先实现,如果没有错误再继续编写,以免编写全部之后错误太多无法改正。
以上就是关于数据结构课到底学的是什么全部的内容,包括:数据结构课到底学的是什么、学数据结构和算法之前要先学什么、请问在大学里,数据结构这门课都学什么。请举例说明。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!