指针: Linux:编译并执行C文件 数据结构中的堆栈 先说数据结构中的堆栈,这个就是我们大学课程《数据结构》中所学到的,通俗上的堆栈的理解,堆和栈是数据存储方式的两种数据结构。关于堆栈,其实还有一个比较容易搞混的地方那就是队列,其实这三种都是数据结构中的一种排序数据结构 - 堆:堆的数据机构其实就 ...
分类:
编程语言 时间:
2018-07-29 15:15:31
阅读次数:
153
数据结构 堆 二叉查找树 最小生成树 树状数组 线段树 主席树 树套树 圆方树 平衡树 字符串 字典树 KMP匹配 AC自动机 后缀自动机 图论 Tarjan强连通分量 ——有向图 ——无向图 ——点双 ——边双 最近公共祖先lca 其它 高精度 ——加 ——减 ——乘 ——除 ...
分类:
其他好文 时间:
2018-07-14 17:20:10
阅读次数:
170
20172318 2017 2018 2 《程序设计与数据结构》第10周学习总结 教材学习内容总结 错误和异常都是对象,代表非正常情况或无效处理 处理异常三种方法:1.根本不处理异常 2.当异常发生时处理异常 3.在程序的某个位置集中处理异常 未捕获的异常:如果程序不处理异常,则将非正常地终止执行, ...
分类:
其他好文 时间:
2018-05-20 21:24:01
阅读次数:
227
堆栈的抽象数据类型描述 堆栈(Stack):具有一定操作约束的线性表 只在一端(栈顶,Top)做插入、删除 后入先出:Last In First Out(FIFO) 类型名称:堆栈(stack) 数据对象集:一个有0个或多个元素的又穷线性表。 操作集:长度为MaxSize的堆栈S∈Stack,堆栈元 ...
分类:
其他好文 时间:
2018-03-18 16:24:46
阅读次数:
212
如果想了解堆的概念,可以点击此处查看前面关于堆的定义的随笔。 堆的操作接口包括初始化堆、销毁堆、向堆中插入元素、从堆顶移除元素、堆的结点个数。 我们用heap来命名一个堆。下面是对以上接口的定义: heap_init void heap_init(Heap *heap,int (*compare)( ...
分类:
其他好文 时间:
2018-03-18 10:27:07
阅读次数:
216
二叉树二叉树常被用作二叉查找树和二叉堆二叉树的第i层至多有2^{i-1}个结点深度为k的二叉树至多有2^k-1个结点一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树完全二叉树完全二叉树是效率很高的数据结构,堆是一种完全二叉树或者近似完全二叉树,所以效率极高,像十分常用的排序算法、Dijkstra算法、Prim算法等都要用堆才能优化,几乎每次都要考到的二叉排序树的效率也要借助平衡性来提高,而
分类:
其他好文 时间:
2018-03-12 18:44:32
阅读次数:
133
完全二叉树是效率很高的数据结构,堆是一种完全二叉树或者近似完全二叉树,所以效率同样极高。目前十分常用的排序算法、Dijkstra算法、Prim算法等都要用堆才能优化。 堆排序是一种选择排序算法,与原序列的初始排列次序无关,即最好、最坏和一般情况排序的时间复杂度不变,均为O(nlgn)。而且,堆排序只 ...
分类:
编程语言 时间:
2018-03-10 21:55:42
阅读次数:
136
简单列了一点 1.1 基本数据结构 1. 数组 2. 链表,双向链表 3. 队列,单调队列,双端队列 4. 栈,单调栈 1.2 中级数据结构 1. 堆 2. 并查集与带权并查集 3. hash 表 自然溢出 双hash 1.3 高级数据结构 1. 树状数组 2. 线段树,线段树合并 3. 平衡树 T ...
分类:
编程语言 时间:
2018-03-01 00:38:54
阅读次数:
225
一、堆先说说堆概念:如果有一个关键码的集合K={k0,k1,k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足:Ki<=K2i+1且Ki<=K2i+2(Ki>=K2i+1且Ki>=K2i+2)i=0,1,2…,则称为小堆(或大堆)。小堆(大堆)中:任一结点的关键码均小于(大于)等于它的左右孩子的关键码,位于堆顶结点的关键码最小(最大)
分类:
其他好文 时间:
2018-02-26 11:43:25
阅读次数:
136