
数据结构
文章平均质量分 95
w_pab
这个作者很懒,什么都没留下…
展开
-
数据结构入门7-2(散列表)
散列表的基本概念散列函数的构造方式构造散列函数的常见方法1. 数字分析法2. 平方取中法3. 折叠法4. 除留余数法处理冲突的方法开放地址法链地址法散列表的查找原创 2023-06-02 14:53:44 · 1738 阅读 · 0 评论 -
数据结构入门6-1(图)
图的定义图的基本术语图的类型定义图的存储结构邻接矩阵1. 邻接矩阵表示法2. 使用邻接矩阵表示法创建无向网3. 邻接矩阵表示法的优缺点邻接表1. 邻接表表示法2. 通过邻接表表示法创建无向图3. 邻接表表示法的优缺点十字链表(有向图)邻接多重表(无向图)图的遍历深度优先搜索(DFS)广度优先搜索原创 2023-03-14 21:49:19 · 6398 阅读 · 0 评论 -
数据结构入门7-1(查找)
查找的基本概念线性表的查找顺序查找折半查找分块查找树表的查找二叉排序树平衡二叉树平衡二叉树的定义平衡二叉树的平衡调整方式平衡二叉树的实现B-树B-树的定义B-树的示意性实现B+树原创 2023-06-01 17:24:59 · 1425 阅读 · 0 评论 -
数据结构入门6-2(图 - 图的应用)
最小生成树1. 普利姆算法(加点法)2. 克鲁斯卡尔算法最短路径1. 单源点的最短路径(迪杰斯特拉算法)2. 每一个顶点之间的最短路径拓扑排序AOV-网关键路径AOE-网原创 2023-03-19 15:10:57 · 924 阅读 · 1 评论 -
数据结构入门5-2(树和二叉树)
树的存储结构1. 双亲表示法2. 孩子表示法3. 重要:孩子兄弟法(二叉树表示法)森林与二叉树的转换树和森林的遍历1. 树的遍历2. 森林的遍历哈夫曼树及其应用基本概念哈夫曼树的构造算法 1. 构造过程2. 算法实现哈夫曼编码算法实现文件的编码和译码二叉树的运用 - 利用二叉树求解表达式中缀表达式树的创建中缀表达式树的求值原创 2023-02-26 16:58:30 · 608 阅读 · 0 评论 -
数据结构入门5-1(树和二叉树)
树和二叉树的定义树的定义树的基本术语二叉树的定义树和二叉树的抽象数据类型定义二叉树的性质和存储结构二叉树的性质二叉树的存储结构1. 顺序存储结构2. 链式存储结构遍历二叉树和线索二叉树遍历二叉树(traversing binary tree)1. 算法描述2. 根据遍历序列确定二叉树3. 二叉树遍历算法的应用线索二叉树(Threaded Binary Tree)1. 线索二叉树的基本概念2. 构造线索二叉树3. 遍历线索二叉树原创 2023-01-07 11:49:30 · 1893 阅读 · 0 评论 -
数据结构入门4-2(广义表、例题)
广义表的定义广义表的存储结构1. 头尾链表的存储结构2. 扩展线性链表的存储结构例题:病毒感染检测原创 2022-11-08 22:16:11 · 2381 阅读 · 0 评论 -
数据结构入门4-1(串、数组)
串的定义串的类型定义、存储结构及其运算串的抽象类型定义串的存储结构1. 串的顺序存储2. 串的链式存储串的模式匹配算法(定长存储结构下)1. BF算法2 - 1. KMP算法 - 分析部分2 - 2. KMP算法 - 代码部分数组数组的类型定义数组的顺序存储数组的存储结构(以行序为主序举例)特殊矩阵的压缩存储1. 对称矩阵2. 三角矩阵3. 对角矩阵原创 2022-11-06 10:41:43 · 1110 阅读 · 0 评论 -
数据结构入门3-2(栈与队列—例题分析)
由于上述OPND是一个字符栈,所以在计算过程中能够使用的操作数也只能是一位,如果要进行多位数的运算,可以改变OPND栈的大小。把一个表达式翻译成正确求值的一串机器指令序列,或者直接对表达式求值。算符优先法:根据算术四则运算规则确定的运算优先关系,实现对表达式的编译或解释执行。表达式以“#”开始,以“#”结束,则表达式求值即为 “#” = “#”。将出场的舞伴进行配对,先入队的男士或女士先出队配成舞伴。函数conversion —— 进行数制的转换。函数evaExp —— 运行表达式求值的函数。原创 2022-10-05 14:18:13 · 607 阅读 · 0 评论 -
数据结构入门3-1(栈与队列)
栈和队列的定义和特点栈的定义和特点队列的定义和特点栈的表示和实现栈的类型定义顺序栈的表示和实现链栈的表示和实现补充结构:双栈的表示和实现栈与递归采用递归算法解决问题1. 定义是递归的2. 数据结构是递归的3. 问题的解法是递归的递归过程与递归工作栈递归算法的效率分析1. 时间复杂度的分析2. 空间复杂度的分析利用栈将递归转换成非递归的方法队列的表示和操作的实现队列的类型定义循环队列——队列的顺序表示和实现链队——队列的链式表原创 2022-10-02 17:24:29 · 701 阅读 · 0 评论 -
数据结构入门2-2(线性表)
顺序表链表空间存储空间预先分配、会导致空间闲置或溢出现象。动态分配、不会出现存储空间闲置或溢出现象。存储密度不用为表示结点间的逻辑关系而增加额外的存储开销,存储密度等于 1。需要借助指针来体现元素间的逻辑关系,存储密度小于 1。时间存取元素随机存取、按位置访问元素的时间复杂度为O(1)。顺序存取、按位置访问元素时间复杂度为O(n)。插入、删除平均移动约表中一般的元素,时间复杂度为O(n)。不需要移动元素,确定插入、删除位置后,时间复杂度为O(1)。适应情况。原创 2022-09-13 20:49:03 · 973 阅读 · 0 评论 -
数据结构入门2-1(线性表)
线性表的例子,如26个字母的字母表:(A, B, C, ..., Z)。表中的元素就是单个字母。如果是更复杂的线性表,一个数据元素可以包含若干个数据项。一个线性表的数据元素可以不同,但是同一线性表中的元素必定具有相同的特性,即属于同一数据对象,相邻数据元素之间存在序偶关系。由n(n≥0)个数据特性相同的元素构成的有限序列称为线性表。线性表中元素的个数n(n≥0)定义为线性表的长度,n=0时被称为空表。非空线性表或线性结构的存在唯一一个被称为“第一个”的数据元素;原创 2022-09-10 17:16:47 · 1894 阅读 · 0 评论 -
数据结构入门1(认识数据结构)
数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。从现有的各种实例(诸如:最短路径、井字棋等等)中,我们也可以看出,数据结构主要研究的是非数值计算程序设计中的操作对象,以及对象间的关系和操作。数据结构包括两个层次:逻辑结构和存储结构。算法(Algorithm)就是定义良好的计算过程,它取一个或一组的值为输出,并产生一个或一组值作为输出。总之,算法就是一系列的计算步骤,用来将输入数据转化为输出结果。...原创 2022-09-01 15:46:46 · 2357 阅读 · 0 评论