数据结构课到底学的是什么

七大洲英文2023-04-27  36

相信你也在网上查过此类问题了,我给你瘦点我自己的理解吧:

数据结构讲的是数据在计算机数据处理中的逻辑结构与存储结构及其基本应用操作。

逻辑结构是指数据运算是的逻辑表示,比如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语言基础。

其次,要了解数据结构到底是什么东西数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

最后,了解几项基本的常用结构,如:线性表,栈,队列,二叉树,图等等。

在编写算法和程序之前,了解算法的逻辑关系是非常重要的,比如栈后进先出的特点等等。

在编写程序时,最好一步一步来,比如在编写线性表的基本操作时,可以先编写线性表的建立、初始化,然后先实现,如果没有错误再继续编写,以免编写全部之后错误太多无法改正。

以上就是关于数据结构课到底学的是什么全部的内容,包括:数据结构课到底学的是什么、学数据结构和算法之前要先学什么、请问在大学里,数据结构这门课都学什么。请举例说明。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

转载请注明原文地址:https://juke.outofmemory.cn/read/3700158.html

最新回复(0)