[toc] LinkedList是一种以带头尾指针的双向链表实现的 List,与 ArrayList 相比,其插入元素快,不需要将元素向后移动,但是其获取元素却没有 ArrayList 方便。 继承体系 数据结构 在linkedList中维护了一个双向链表 源码解析 1.属性 2.构造方法 Link ...
分类:
编程语言 时间:
2020-03-03 00:35:41
阅读次数:
62
博客原文链接:https://www.cnblogs.com/xzxl/p/7266404.html 感谢GGBeng先生 C++STL——优先队列 一、相关定义 优先队列容器与队列一样,只能从队尾插入元素,从队首删除元素。但是它有一个特性,就是队列中最大的元素总是位于队首,所以出队时,并非按照先进 ...
分类:
编程语言 时间:
2020-02-29 14:51:03
阅读次数:
72
插入排序工作原理: 1.将一个数组拆分成两个数组,一个取第一个元素认为是有序的;剩余的元素认为是无序的 2.每次从无序数组中取出第一个元素与有序数组最后一个元素进行比较 待插入元素比较大,则放有序数组后面;如果比较小,则与有序数组倒数第二个进行比较,对有序数组从后往前进行扫描,直到遇到比他小的位置, ...
分类:
编程语言 时间:
2020-02-27 19:14:30
阅读次数:
56
1. bisect维护有序列表 bisect模块实现了一个算法来向列表中插入元素,同时仍保持列表有序。 1.1 有序插入 下面给出一个简单的例子,这里使用insort()按有序顺序向一个列表中插入元素。 import bisect # A series of random numbers value ...
分类:
编程语言 时间:
2020-02-23 09:50:19
阅读次数:
93
#字符串前面加r可以防止字符串转义 \也可以防止字符串转义#三引号可以实现输入多行文本#range(start,end,step)#列表 append添加一个元素到末尾 extend 添加一个素组到末尾 insert(pos,element) 末位置插入元素#字符串a = b相当于传指针 a = b ...
分类:
编程语言 时间:
2020-02-21 22:30:36
阅读次数:
97
一、平衡二叉树的定义 1. 使树的高度在每次插入元素后仍然能保持O(logn)的级别 2. AVL仍然是一棵二叉查找树 3. 左右子树的高度之差是平衡因子,且值不超过1 二、平衡二叉树的基本操作 1. 查找操作 查找方法和二叉查找树一致 2. 插入操作 左旋(Left Rotation) 右旋(Ri ...
分类:
其他好文 时间:
2020-02-20 22:28:20
阅读次数:
83
(1)数组排序及插入元素 1 package JavaEE.JavaBaseExampleTest.Array; 2 3 import java.util.Arrays; 4 /** 5 * 使用sort()方法对Java数组进行排序,及使用 insertElement () 方法向数组插入元素 6 ...
分类:
编程语言 时间:
2020-02-12 16:15:53
阅读次数:
81
优先队列容器和队列一样,只能从队尾插入元素,从队首删除元素。 为什么能叫优先队列呢??因为它有一个特性,就是队列中每个元素都有一个优先级,所以出队时,并不是完全一样的遵循先进先出的原则来进行的,而是将队列中优先级大的出队。这点有点儿类似于给队列里元素先进行一个排序,再按照顺序出队。元素的比较规则默认 ...
分类:
其他好文 时间:
2020-02-10 13:57:55
阅读次数:
65
优先队列的最重要的操作:删除最大元素(或最小)和插入元素。数据结构二叉堆能够很好的实现队列的基本操作。二叉堆的结点按照层级顺序放入数组,用长度为N+1的私有数组pq来表示一个大小为N的堆(堆元素放在pq[1]至pq[N]之间,为方便计数,未使用pq[0]),跟节点在位置1,它的子结点在位置2和3,以 ...
分类:
其他好文 时间:
2020-02-10 00:00:48
阅读次数:
71
前言 二叉堆分为最大堆与最小堆,一组不规则的完全二叉树或者近完全二叉树,可以通过调整称为二叉堆。 序列化: 形成二叉堆通过下沉。 插入元素通过上浮。 排序: 二叉堆的最大堆为父节点一定大于或者等于子节点,堆顶一定最大。 如果最小堆的堆顶与最后一个元素交互,那么最后一个元素一定最大。 如果最后一个元素 ...
分类:
编程语言 时间:
2020-02-08 11:22:27
阅读次数:
77