
数据结构
LiverWhles
这个作者很懒,什么都没留下…
展开
-
数据结构复习 【7.3.1 树表的查找--二叉排序树】
数据结构复习 【7.3.1 树表的查找--二叉排序树】引言一、二叉排序树(二叉搜索树、查找树)1.定义2.性质3.查找操作3.1.相关代码3.1.1 二叉树排序树的存储结构3.1.2 递归查找算法3.2.效率分析4.插入操作5.生成操作6.删除操作6.1 删除叶子结点6.2 删除含有左子树(或右子树)的结点6.3 删除含有左、右子树的结点 引言 当表的插入和删除操作频繁时,为了维护表的有序性,我们需要移动表中的很多记录——可以改用动态查找表,使用几种特殊的树(二叉排序树、平衡二叉树、红黑树、B+、B-、键原创 2020-08-18 17:38:29 · 368 阅读 · 0 评论 -
数据结构复习 【7.2 线性表的查找】
总结自b站青岛大学王卓老师的讲课,感觉是最容易理解的数据结构课了! 一、线性表的查找方法: (一)顺序查找 1.应用范围: 顺序表或线性链表表示的静态查找表 表内元素之间可以无序 2.数据元素定义、顺序表的表示: typedef struct{ KeyType key; //关键字域 …… //其他域 }ElemType; typedef struct{ ElemType *R; //表基址 int length; //表长 }SSTable; //Sequential Search Ta.原创 2020-08-18 16:12:46 · 1632 阅读 · 0 评论 -
数据结构复习 【7.1 查找的概念】
比较重要而有通用性的数据操作:查找和排序。 一、查找的概念 1.在哪里找? 查找表。查找表是由同一类型的数据元素(或记录)构成的集合。由于“集合”中的数据元素之间存在着松散的关系(没有严格的前驱或后继),因此查找表是一种应用灵便的结构。 2.什么是查找? 根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。 (1)关键字:用来标识一个数据元素(或记录)的某个数据项的值。 1)主关键字:可唯一地标识一个记录。 2)次关键字:可表示若干记录。 ...原创 2020-08-18 16:08:16 · 322 阅读 · 0 评论 -
数据结构复习--KMP算法理解(如何消除主串回溯问题)
首先明确: KMP模式匹配算法的目的是:快速在主串中匹配到子串; KMP算法达到的效果是消除了主串指针的回溯,提高了字符串的匹配效率。 一、BF匹配算法存在的问题 既然KMP算法是一种优化算法,那肯定原算法有不足之处。 BF算法是最基础的匹配算法,它的思想是:对于主串的每一个字符,当做子串的开头字符进行一次匹配,直到完全匹配成功。 它的不足之处在于,当不完全匹配发生,再次进行匹配时可能出现主串指针回溯的现象,可以看下图的例子: 规定主串为S[n],子串为T[n],则有: 在①中,S[0]=T[0.原创 2020-07-21 14:55:13 · 1447 阅读 · 0 评论