![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
文章平均质量分 74
数据结构与算法的部分学习笔记
一纸春秋
张鼎元的博客。
展开
-
数据结构笔记 —— 二叉树删除节点
本篇博客是根据b站尚硅谷的数据结构教程,学习后写的学习笔记,本篇博客的重点在自己编写的代码注释和过程分析上https://www.bilibili.com/video/BV1E4411H73v?p=99规定:(1)如果删除的节点是叶子节点,则删除该节点(2)如果删除的节点是非叶子节点,则删除该子树思路:首先先处理:考虑如果树是空树,或者只有一个root节点,则等价于将二叉树置空然后考虑其他的情况因为我们的二叉树是单向的,所以我们是判断当前节点的子节点是否是需要删除的节点,而不能判断当前的这原创 2021-12-20 23:37:49 · 2772 阅读 · 0 评论 -
数据结构笔记 —— 二叉树(前序、中序、后序遍历和查找)
前序遍历,中序遍历,后序遍历首先定义节点类,这里依旧是在拿梁山好汉作为节点里面的信息//先创建HeroNode节点class HeroNode { private int no; private String name; private HeroNode left; //默认为null private HeroNode right; //默认为null public HeroNode(int no,String name){ this.no =原创 2021-12-19 22:19:12 · 695 阅读 · 0 评论 -
Java排序算法 ——直接插入排序和希尔排序的代码实现与分析
直接插入排序核心思想:将数组分为未排序区间和已排序区间每次从未排序区间获取第一个元素,与已排序区间元素从右往左的比较,直到找到正确的索引位置,将元素插入此位置具体实现方法有两种整体后移假定未排序区间的第一个元素为num,则已排序区间内大于num的元素都往后移动一位,直到遇到一个索引位置,这个位置的前一个元素小于num,则当前位置就是num的正确位置,插入元素num的值package dataStructure;public class directSort { public s原创 2021-12-18 17:14:58 · 764 阅读 · 0 评论 -
数据结构笔记 —— 哈希表
本篇博客是根据b站尚硅谷的数据结构教程,学习后写的学习笔记,本篇博客的重点在自己编写的代码注释上https://www.bilibili.com/video/BV1E4411H73v?p=89哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过映射函数把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做哈希表(散列表)哈希表一般是数组+链表或者数组+二叉树,加上哈希表的主要目的是提高原创 2021-12-15 15:45:35 · 1304 阅读 · 0 评论 -
数据结构笔记 —— 栈
本篇博客是根据b站尚硅谷老师的数据结构教程,学习后写的学习笔记,本篇博客的重点在自己编写的代码注释上https://www.bilibili.com/video/BV1E4411H73v?p=30栈(Stack)(1)栈是一个先入后出的有序列表(2)栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表,允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Buttom)(3)根据栈的定义可知,最先放入栈中的元素在栈底,最后放入的元素在栈顶,而删除原创 2021-12-15 15:19:46 · 1101 阅读 · 0 评论 -
java排序算法 —— 冒泡排序和快速排序的代码实现
时间复杂度:一个算法执行所耗费的时间空间复杂度:运行完一个程序所需内存的大小其中,稳定和不稳定是针对数组中有相同元素而说的(1)稳定:如果a原本在b的前面,而且a=b,排序之后a仍然在b的前面(2)不稳定:如果a原本在b的前面,而且a=b,排序之后a可能会出现在b的后面冒泡排序平均时间复杂度,最好情况,最坏情况,空间复杂度依次是稳定性:稳定package dataStructure;public class bubbleSort { public static void mai原创 2021-12-13 22:24:44 · 368 阅读 · 0 评论 -
数据结构笔记 —— 单链表和双向链表
本篇博客是根据b站尚硅谷老师的数据结构教程,学习后写的学习笔记部分概念和图片均来自视频,代码和截图均为自己动手,本篇博客的重点在自己编写的代码注释上尚硅谷Java数据结构与java算法(Java数据结构与算法)单链表链表是有序的列表(Linked List),在内存中的存储方式如上图所示(1)链表是以节点的方式来存储,是链式存储(2)每个节点包含data域,next域。其中,data域用来保存当前节点要存储的数据,next域用来指向下一个节点(3)链表的各个节点不一定是连续存储(4)链表分原创 2021-12-13 22:23:09 · 814 阅读 · 0 评论