数据结构
猕猴桃女孩
那个追梦的人鸭!
展开
-
Java-七大排序算法,你学废了吗
目录写在开头插入排序希尔排序选择排序堆排序冒泡排序快速排序归并排序写在开头很久没有更新啦,今天来说一说排序的那些事。排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。平时一般提到的排序一般都是指升序。主要的排序算法有七种:插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、归并排序。下面看我一一道来。插入排序//1.从无序区间拿出一个数//2。与有序区间上的数比较//3.插入合适的位置//时间复杂度:最好 O(n) 最坏 O(n^2) 平均 O(n原创 2020-10-25 10:24:53 · 180 阅读 · 1 评论 -
史上“最强”单链表实现(插入,删除,查找,求长...你想要的这里都有!)
文章目录序头插法尾插任意位置插入删除第一次出现的关键字删除所有指定关键字得到单链表的长度打印单链表清空单链表写在结尾序链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的。这里说的单链表是指无头单向非循环链表。链表当然是由结点串起来的,那么,在写单链表实现前,我们需要定义一个结点的类。代码敲起来:class Node{ public int data;//定义当前结点的数据 public Node next;//下一个结点的引用 publ原创 2020-07-29 18:03:06 · 313 阅读 · 2 评论 -
数据结构之堆的简述
目录什么是堆向下调整建堆堆的应用什么是堆今天来谈谈数据结构中的堆,什么是堆呢?我的理解是,堆可以看作一棵逻辑上的完全二叉树,并可以通过数组保存的。堆分为大堆,小堆,堆就像一个金字塔一样,大堆就是越大的值越往上,最大值在堆顶,每一个元素都大于等于它的左右孩子,小堆反之。向下调整以小堆为例,堆的向下调整就是当数组中只有需要调整的元素不满足条件,其他元素都满足小堆的条件了,就可以进行向下调整使之有序。向下调整的思路就是:如果是叶子结点就不用调整了,找出孩子中最小的(一个孩子的话最小的就是左孩子了),原创 2020-11-20 15:14:34 · 273 阅读 · 0 评论 -
数据结构之你真的了解二叉树吗
目录简述定义二叉树的结点二叉树的前中后序遍历计算结点个数第k层结点个数二叉树的高度是否有结点值为v平衡二叉树另一个树的子树二叉树的最近公共祖先简述你真的了解二叉树吗?一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。这是表面上的二叉树,本文将基于二叉树的前中后序遍历解决一些求解二叉树的相关问题,感兴趣的就继续往下看吧。定义二叉树的结点二叉树是结点的有限集合,那么结点就必不可少啦:public class TreeNode {原创 2020-11-18 20:34:42 · 360 阅读 · 1 评论