本文摘自wikipedia。本文内容是关于:C语言 链表详解,c语言链表教程。 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的...
本文理解翻译自:http://en.wikipedia.org/wiki/K-d_tree
k-d树(k-d tree)
来自维基百科,自由的百科全书
简介
k-d树是二叉树的一种,树中每个节...
问题:实现一个栈,要求含有函数push, pop, min,并且他们的时间复杂度都是O(1)。
解决思路:如图1所示,在普通栈的基础上,增加当前最小节点的指针curren...
本文内容是关于:平衡二叉搜索树,AVL Tree。
在《二叉搜索树(BST)的实现(C语言)》一文中,我们给出了一般二叉搜索树(BST)的实现。
BST在面...
优先队列(priority_queue)和一般队列(queue)的函数接口一致,不同的是,优先队列每次出列的是整个队列中
最小(或者最大)的元素。
本文简要介绍一种...
B树 即二叉搜索树:
1.所有非叶子结点至多拥有两个儿子(Left和Right);
2.所有结点存储一个关键字;
3.非叶子结点的左指针指向小于其关键字的子树,右指...
摘要:本文简要介绍了并查集的基本原理,并且给出了简单易于理解的数组实现。本文给出的实现方法
使用数组而不是通用的树结构,是为了方便对并查集的理解...
摘要:本文介绍了通用并查集的树形实现,通过压缩路径和维持数的平衡,可以保证
查找和合并的平均时间复杂度为O(1)!
关键字:并查集,UnionFind,树形
...
美国旧金山大学计算机科学系(Computer Science,University of San Francisco)的 David Galles 教授
将一些常用的数据结构和算法进行了可视化处理,也就...
叉搜索树(Binary Search Tree)的一般形式如下图所示,每个节点中的元素大于它的左子树中的所有元素,小于它的右子树中的所有元素。对该图中的二叉树进行中序...
线段树也是一种二叉树,只不过它的节点用来表示一个区间,其特征是将当前区间二分后分别作为左右孩子节点
的区间,如下图(来自百度图片)所示:
...
简单实现了哈希表的插入和查找功能,简要说明如下:
1、数据结构:
struct HashNode
{
char* sKey; //键
int nValue...
使用链表实现的队列,源码用C语言编写,VC6.0编译。代码有三个文件,其中cqueue.h是队列数据结构和函数接口的声明,cqueue.c是队列函数的定义,main.c是队列...
使用单链表实现的栈,源码用C语言编写,VC6.0编译,分为三个文件,cstack.h是栈的数据结构和函数接口声明,cstack.c是栈的函数的定义,main.c是栈的测试文件...
在处理大数据量问题时,用BitSet做标记处理,可以节约内存空间。BitSet的中文翻译有位图、位集、位域等,个人觉得位图比较合适,下文中将以位图作为BitSet...