数据结构学习笔记
文章平均质量分 81
ishao97
身在井隅,心向璀璨。
展开
-
每日一题(day7)
一、链表中环的入口结点描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。输入描述:输入分为2段,第一段是入环前的链表部分,第二段是链表环的部分,后台将这2个会组装成一个有环或者无环单链表返回值描述:返回链表的环的入口结点即可。而我们后台程序会打印这个节点解题思路:1.采用快慢指针进行求解如果链表存在环,则fast和slow会在环内相遇,定义相遇点到入口点的距离为X,定义环的长度为C,定义头到入口的距离为L,fast在slow进入环之后一圈内追上s原创 2021-08-27 10:48:27 · 285 阅读 · 0 评论 -
常见七大排序算法总结--超详细适合初学者
一、排序算法的概念以及应用(一)概念所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。(二)分类内部排序:数据元素全部放在内存中的排序。外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。(三)应用1.淘宝京东商品的销量排名2.各大高校的综合实力排名3.以及各大城市GDP排名4.外卖评分以及百度竞价排名(四)常见的排序算法二、排序算法的实现(升序排列)(一)原创 2021-07-26 17:59:52 · 1732 阅读 · 0 评论 -
数据结构学习笔记-----AVL树节点插入中平衡因子的调节及旋转问题
目录一、AVL树(一)概念(二)定义二、AVL树的插入(一)先按照二叉搜索树的规则将节点插入到AVL树中(二)平衡因子调节1.调节过程2.代码实现(三)旋转1.概念2.新节点插入较高左子树的左侧---左左:右单旋3.新节点插入较高右子树的右侧---右右:左单旋4. 新节点插入较高左子树的右侧---左右:先左单旋再右单旋5.新节点插入较高右子树的左侧---右左:先右单旋再左单旋一、AVL 树(一)概念对于一个AVL树,它是一个高度平衡的搜.原创 2021-05-26 17:14:45 · 2277 阅读 · 0 评论 -
数据结构学习笔记------红黑树(呕心沥血版!!!!)
一、红黑树的概念红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。二、红黑树的性质三、红黑树的定义与结构四、红黑树的插入、验证与删除(一)插入(二)验证(三)删除五、红黑树的应用六、红黑树与AVL树的比较...原创 2021-06-02 16:37:02 · 264 阅读 · 0 评论 -
数据结构笔记-----排序方法之计数排序(非比较排序)
一、程序思想及步骤(一)思想计数排序又称为鸽巢原理,是对哈希直接定址法的变形应用。(二)步骤通过遍历原数组,数组中每个数的值是多少就对统计次数的数组位++,从而统计出数组每个数出现的次数。根据统计的结果将该数放回到原来的数组中3.确定统计次数数组的范围,通过步骤1遍历原数组从而得到最大值和最小值,从而确定范围。(三)演示1.如下图,要对该数组进行计数排序,首先遍历该数组可知该数组范围为[0,5]其中0出现了2次,1出现了0次,2出现了2次,3出现了3次,4出现了0次,5出现了1次。2原创 2021-01-27 18:53:51 · 176 阅读 · 0 评论