数据结构
重生12
这个作者很懒,什么都没留下…
展开
-
七中常见的排序算法(插入排序,希尔排序,堆排序,选择排序,冒泡排序,选择排序,归并排序)
一.插入排序让bound指向第一个元素,将所有元素分为[0,bound)已排序区间和[bound,size)待排序区间, 先取bound位置的元素,往前面的已排序区间中插入,插入完毕后已排序区间仍然是有序的,把bound位置的元素在前面找一个合适的位置,同时需要搬运相关元素.接下来用Java 来实现这种算法: public static void insertSort(int[] arra...原创 2020-04-26 19:13:52 · 468 阅读 · 1 评论 -
堆(利用向下调整来建堆)
堆(heap):对本质上是一个二叉树,满足这么几个条件:1.完全二叉树2.对于数中的任意节点,满足根节点小鱼左右子数的值(小堆);满足根节点大于左右子数的值(大堆);一个堆如果是小堆,就不可能是大堆,堆通常就是通过数组的形式来存储的.堆最大的用处就是能让我们快速找到一个数中的最大值或者最小值(根节点)堆的几种常见操作:一:向下调整前提:左右子数必须是一个堆才能进行调整;先设定根节...原创 2020-04-14 18:46:15 · 365 阅读 · 0 评论 -
二叉树的三种遍历及代码实现
二叉树是一种特殊的数据结构,二叉树是有两个节点的树,二叉树的基本表示是左右孩子表示法,基本操作是遍历,二叉树有三种遍历方法:1.先序/前序遍历: 根左右2.中序遍历: 左根右;后序遍历法: 左右根就比如这颗二叉树:先序:A B D E G H C F中序:D B G H E A C F后序:D H G E B F C A下面来用Java实现这三种遍历方式:先序遍历: 总的先序遍...原创 2020-04-13 10:27:28 · 1847 阅读 · 0 评论