摘要: 二叉堆的解释 (动态选择优先级最高的任务执行) 堆,又称为优先队列。虽然名为优先队列,但堆并不是队列。堆和队列是两种不同的数据结构,堆是树态的,队列是线性的。在队列中,我们可以向队列添加元素,取出的时候是按照进入队列的先后顺序取出元素的,先进先出;而在堆中,却不是按照元素添加的先后顺序,而是按照元素 阅读全文
posted @ 2019-12-17 13:33 我脱下短袖 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 二分搜索树属性 二分搜索树的又名比较多,有的叫二叉排序树,也有的叫二叉查找树,或者有序二叉查找树。是指一棵空树或者具有下列性质的二叉树: 1.若任意节点的左子树不空,则左子树所有节点的值均小于它根节点的值; 2.若任意节点的右子树不空,则右子树所有节点的值均小于它根节点的值; 3.任意节点的左、右子 阅读全文
posted @ 2019-12-17 13:27 我脱下短袖 阅读(638) 评论(0) 推荐(0) 编辑
摘要: 简单选择排序属性 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 回顾一下上次快速排序的 阅读全文
posted @ 2019-12-17 13:25 我脱下短袖 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 希尔排序属性 上篇写的直接插入排序算法时间复杂度是O(n^2),如果要令此排序算法的时间复杂度要低于O(n^2),必须是“远距离的元素交换”使得这组元素能提高有序的程度,然后进行直接插入排序的时候可以减少交换的工作量。 那通过什么减少交换的工作量呢?希尔排序可以解决这个问题。 希尔排序在做直接插入排 阅读全文
posted @ 2019-12-17 13:04 我脱下短袖 阅读(1180) 评论(0) 推荐(1) 编辑
摘要: 插入排序 插入排序是比较简单也比较直接的一种排序算法。它是从一堆数据中取出一个数据并将它插入到已排序的数据中合适的位置。 比如按身高排队,有一个人指挥排队从第二个人开始,按身高把当前的人安插到之前排序好队的合适的位置。 或者打扑克牌,假设我们拿到了10,J,K,A这四张牌,然后拿到了Q这张牌,那如何 阅读全文
posted @ 2019-12-17 12:52 我脱下短袖 阅读(328) 评论(0) 推荐(0) 编辑