
数据结构基础
吕秀才
静下心来,每一步都踏踏实实。
展开
-
双数组TRIE树原理
原文名称: An Efficient Digital Search Algorithm by Using a Double-Array Structure 作者: JUN-ICHI AOE 译文: 使用双数组结构的一个高效的Digital Search算法转载 2011-10-17 09:31:02 · 9489 阅读 · 0 评论 -
二叉树,写着玩的
#ifndef DL_H#define DL_H#define null 0#include using namespace std;struct BinTreeNode{ char * data; BinTreeNode *leftchild , *rightchild; BinTreeNode(){ leftchild = null; rightchild = null; }原创 2013-01-14 15:58:47 · 681 阅读 · 0 评论 -
C语言位段与联合体(union)的内存分配
union V { struct X { unsigned char s1:1; unsigned char s2:1; unsigned char s3:4; } x; unsigned char s1:1; unsigned char s2:1; unsigned char s3:4; int c; } v;void ma原创 2013-01-14 09:37:00 · 4035 阅读 · 0 评论 -
后缀树的构造方法-Ukkonen详解
最近在学习后缀树的构造,在网上找了好久发觉国内详解它的构造的文章胜少,在苦苦寻觅了许久,终于发现了一个网友翻译的一篇文章,很好,于是我转帖出来,希望能有更多的人受益,也希望国内多一些英文高手多翻译一些国外的技术文章,好让我们这些英文很烂的人受益,呵呵!后缀树Fast String Searching With Suffix Trees 原著Mark转载 2012-08-31 14:28:23 · 1556 阅读 · 0 评论 -
后缀树
在pongba的讨论组上看到一道Amazon的面试题:找出给定字符串里的最长回文。例子:输入XMADAMYX。则输出MADAM。这道题的流行解法是用后缀树(Suffix Tree)。这坨数据结构最酷的地方是用它能高效解决一大票复杂的字符串编程问题: 在文本T里查询T是否包含子串P(复杂度同流行的KMP相当)。文本T里找出最长重复子串。比如abcdabcefda里abc同da都重复出现,转载 2012-08-29 17:34:11 · 1373 阅读 · 0 评论 -
c# hashtable
using System;using System.Collections;using System.Linq;using System.Text;namespace CSharptest{ class Program { static void Main(string[] args) {转载 2012-02-16 13:25:40 · 495 阅读 · 0 评论 -
B+ 树
1、B+树索引的总体结构① B+树索引是一个多级索引,但是其结构不同于多级顺序索引;② B+树索引采用平衡树结构,即每个叶结点到根的路径长度都相同;③ 每个非叶结点有到n个子女,n对特定的树是固定的;④ B+树的所有结点结构都相同,它最多包含n-1个搜索码值K1、K2、…、Kn-1,以及n个指针P1、P2、…、Pn,每个结点中的搜索码值按次序存放,即如果i图1所示。转载 2012-02-09 11:08:00 · 832 阅读 · 0 评论 -
B+ 树 源码
B+树算法与源码(C语言描述)B+树可以看作是B树的变形,对于存放在外存贮器上的字典,B+树比B树更为常用。 一个m阶的B+树满足下列条件∶ (1) 每个结点至多有m棵子树。 (2) 除根结点外,其它每个分支至少有m/2棵子树。 (3) 非叶结点的根结点至少有两棵子树。 (4) 有n棵子树的结点有n个转载 2012-02-09 09:37:20 · 1610 阅读 · 0 评论 -
B树、B-树、B+树、B*树都是什么
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关转载 2012-02-09 10:45:42 · 410 阅读 · 0 评论 -
链表插入排序
#include using namespace std;class LinkNode{public: int data; LinkNode *next; LinkNode(int k) { data=k; next=NULL;转载 2011-12-30 14:18:09 · 333 阅读 · 0 评论 -
树
//今天在网上看到一个用c++中迭代器和向量实现的,但是不够底层。/************************************************************************//* coder:huifeng00 *//*转载 2011-10-27 18:09:13 · 406 阅读 · 0 评论 -
trie 树举例
#define WORDS_END_TAG 0x20typedef struct Node{ wchar word; Node *p_lefson; //左儿子 Node *p_rightbrother; //右兄弟}*pCnNode,CnNode;typedef struct treenode{ wchar Cn_CUW[CUW_COUNT]; //chines原创 2011-10-31 16:54:23 · 375 阅读 · 0 评论 -
trie树
#include #include #include using namespace std;const int num_chars = 26;class Trie {public: Trie(); Trie(Trie& tr); virtual ~Trie(); int trie_search(const char*转载 2011-10-28 16:46:18 · 353 阅读 · 0 评论 -
编程之美2.5 寻找最大的K个数
/********************问题描述************************有若干个无序的数(假设数目为N),如何选择其中最大的K个数*****************************************************/#include#include#includeusing namespace std;/*************转载 2013-03-18 15:22:22 · 595 阅读 · 0 评论