码迷,mamicode.com
首页 >  
搜索关键字:伸展树 splay 数据结构    ( 38497个结果
数据结构学习之二叉排序树
介绍:二叉排序树是以一定的规则排列树中元素,因而可以进行快速的排序和查询的树状数据结构,一般规则是:对于树中任意一个节点,左孩子严格小于根,根严格小于右孩子,有点像大根堆。(只是大根堆中左右孩子关系并不确定,且和根的关系是统一的,而且有上浮和下沉操作使得大根堆总是一棵完全二叉树,其不断弹出堆顶形成有序列的过程叫做堆排序。虽然二叉排序树中也有旋转操作使得树尽量平衡,但是由于数值大小分明的左右孩子,在...
分类:其他好文   时间:2014-06-03 01:01:17    阅读次数:313
二叉树的存储与遍历
typedef char status; typedef char Telemtype; #define NULL 0 #define OK 1 typedef struct bitnode{ Telemtype data; struct bitnode *lchild,*rchild; }bitnode,*bitree; Creatbitree(bitree &t) { //先序创建二叉...
分类:其他好文   时间:2014-06-03 00:47:39    阅读次数:195
实现基于数据结构的语言
实现基于数据结构的语言   创建任何 DSL 都应该从定义需要解决的问题开始。这里,我们需要定义一个 DSL 库(有时也称为组合库,combinators library),用于二维图形,这是一个很明显的选择。这个示例演示如何用大量简单的基本图形构建出复杂的结构。在计算机屏幕上的图像本质上就是线条和多边形的集合,尽管显示出来的图形可能极其复杂。这个示例用四个模块表现:第一,清单 12-1,提供...
分类:其他好文   时间:2014-06-03 00:38:21    阅读次数:420
[考研系列之数据结构]线性表之栈
?基本概念 栈的定义 限定仅在表尾进行插入或删除的线性表 组成 栈顶 栈底 基本操作 入栈(PUSH) 往栈中插入一个元素 弹栈(POP) 从栈顶删除一个元素 栈的表示 顺序栈 链栈 对于顺序栈,有两...
分类:其他好文   时间:2014-06-02 22:28:26    阅读次数:337
数据结构中常见的排序算法
常见排序算法的基本思想及Python源代码。
分类:其他好文   时间:2014-06-02 20:12:01    阅读次数:255
[考研系列之数据结构]线性表之队列
基本概念 队列的定义 队列是一种只能在表的一头插入,另一头删除的线性表,简而言之具有FIFO的特性 组成 队头 队尾 扩展 双端队列 只能在两端进行删除插入操作的线性表 实现 链队列 顺序队列 循环队列 循环队列 循...
分类:其他好文   时间:2014-06-01 10:57:30    阅读次数:380
普林斯顿公开课:算法第0章,课程介绍
课程介绍 这门课程核心内容是算法和数据结构。 具体的算法和数据结构如下: 数据类型:堆栈、队列、背包、并查集、优先队列。 排序:快排、并排、堆排、基数排序 查找:BST、红黑BST、哈希表 图:BFS、DFS、Prim、Kruskai、Dijkstra 字符串:KMP、正则、TST、哈夫曼、LZW 高级:B树、后缀数组、最...
分类:其他好文   时间:2014-06-01 10:52:26    阅读次数:285
Splay Tree的删除操作
Splay Tree的插入操作,搜索操作,和删除操作都实现了,那么就可以使用来解题了。 指针的删除操作的处理还是那么难的,很多坎需要避开. 同一个坎还是坑了我好多次,就是指针传递的问题,什么时候需要修改指针本身的值,就必须返回指针或者传递指针的指针,或者传递指针的的实参。 这里的删除操作就是需要改变传递到函数的指针本身的,所以我这里使用了返回指针操作。 还有删除树的问题,之前的代码没做删除...
分类:其他好文   时间:2014-06-01 10:30:52    阅读次数:339
C数据结构-栈和队列,括号匹配举例
1.栈和队列是两种特殊的线性表             运算操作被限定只能在表的一端或两端插入,删除元素,故也称它们为限定的线性表结构 2.栈的基本运算 1).Stackinit(&s) 构造一个空栈 2).Stackempty(s) 判断s是否为空栈,当s为空栈时,函数返回值1 否则 0 3).Push(&s,x)  在栈s 的顶部插入元素x,简称将x入 栈 4).Pop(&...
分类:其他好文   时间:2014-06-01 09:08:36    阅读次数:278
第12章 堆
来自维基百科 堆 堆(英语:heap) 亦被称为:优先队列(英语:priority queue),是计算机科学中一类特殊的数据结构的统称。 堆通常是一个可以被看做一棵树的数组对象。在队列中,调度程序反复提取队列中第一个作业并运行,因而实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。 逻辑定...
分类:其他好文   时间:2014-06-01 05:01:13    阅读次数:279
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!