数据结构考研讲义.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
. . 目录 TOC \o 1-3 \h \u 绪论 3 0.1 基本概念 3 第一章 线性表 4 1.1 线性表的定义 4 1.2 线性表的实现 4 1.2.2 线性表的链式存储结构 6 第二章 栈、队列和数组 11 2.1 栈 11 2.2 队列 15 2.3 特殊矩阵的压缩存储 17 2.3.1 数组 17 2.3.2 特殊矩阵 17 第三章 树与二叉树 20 3.1 树的概念 20 1.树的定义 20 2.相关术语 20 3.2 二叉树 21 3.2.1 定义与性质 21 3.2.2 二叉树的存储 22 3.2.3 二叉树的遍历 23 3.2.4 线索二叉树 25 3.3 树和森林 29 3.3.1 树的存储结构 29 3.3.2 森林和二叉树的转换 30 3.3.3 树和森林的遍历 30 3.4 哈夫曼( Huffman)树和哈夫曼编码 31 第四章 图 32 4.1 图的概念 32 4.2 图的存储及基本操作 33 4.2.1 邻接矩阵 33 4.2.2 邻接表 33 4.3 图的遍历 35 4.3.1 深度优先搜索 35 4.3.2 广度优先搜索 35 4.4 图的基本应用 37 4.4.1 最小生成树 37 4.4.2 最短路径 37 4.4.3 拓扑排序 39 4.4.4 关键路径 40 第五章 查找 42 5.1 查找的基本概念 42 5.2 顺序查找法 43 5.3 折半查找法 44 5.4 动态查找树表 45 5.4.1 二叉排序树 45 5.4.2 平衡二叉树 47 5.4.3 B 树及其基本操作、 B+树的基本概念 49 5.5 散列表 51 5.5.2 常用的散列函数 51 5.5.3 处理冲突的方法 52 5.5.4 散列表的查找 52 5.5.5 散列表的查找分析 53 第六章 排序 54 6.1 插入排序 54 6.1.1 直接插入排序 54 6.1.2 折半插入排序 54 6.2 冒泡排序 55 6.3 简单选择排序 56 6.4 希尔排序 57 6.5 快速排序 58 6.6 堆排序 60 6.7 二路归并排序 62 6.8 基数排序 63 6.9 各种内部排序算法的比较 64 绪论 0.1 基本概念 1、数据结构 数据结构是指互相之间存在着一种或多种关系的数据元素的集合。 数据结构是一个二元组 Data_Structure =( D, R),其中, D 是数据元素的有限集, R 是D 上关系的有限集。 2、逻辑结构:是指数据之间的相互关系。通常分为四类结构: ( 1)集合:结构中的数据元素除了同属于一种类型外,别无其它关系。 ( 2)线性结构:结构中的数据元素之间存在一对一的关系。 ( 3)树型结构:结构中的数据元素之间存在一对多的关系。 ( 4)图状结构:结构中的数据元素之间存在多对多的关系。 3、存储结构:是指数据结构在计算机中的表示,又称为数据的物理结构。通常由四种基本的存储方法实现: ( 1)顺序存储方式。数据元素顺序存放,每个存储结点只含一个元素。存储位置反映数据元素间的逻辑关系。存储密度大。但有些操作(如插入、删除)效率较差。 ( 2)链式存储方式。每个存储结点除包含数据元素信息外还包含一组(至少一个)指针。指针反映数据元素间的逻辑关系。这种方式不要求存储空间连续,便于动态操作(如插入、删除等),但存储空间开销大(用于指针),另外不能折半查找等。 ( 3)索引存储方式。除数据元素存储在一组地址连续的内存空间外,还需建立一个索引表,索引表中索引指示存储结点的存储位置(下标)或存储区间端点(下标)。 ( 4)散列存储方式。通过散列函数和解决冲突的方法,将关键字散列在连续的有限的地址空间内,并将散列函数的值解释成关键字所在元素的存储地址。其特点是存取速度快,只能按关键字随机存取,不能顺序存取,也不能折半存取。 2 算法和算法的衡量 1、算法是对特定问题求解步骤的一种描述,是指令的有限序列。其中每一条指令表示一个或多个操作。 算法具有下列特性:⑴有穷性⑵确定性⑶可行性⑷输入⑸输出。 算法和程序十分相似,但又有区别。程序不一定具有有穷性,程序中的指令必须是机器可执行的,而算法中的指令则无此限制。算法代表了对问题的解,而程序则是算法在计算机上的特定的实现。一个算法若用程序设计语言来描述,则它就是一个程

文档评论(0)

hkfgmny + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档