- 浏览: 723191 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (1043)
- 数据结构 (36)
- UML与设计模式 (42)
- c++ (87)
- rust (36)
- Qt (41)
- boost模板元编程 (43)
- Linux (77)
- 汇编 (4)
- 其它 (2)
- 烹饪 (3)
- unix c / socket (73)
- 软件工程 (4)
- shell (52)
- Python (37)
- c++ primer 5th(c++11) (22)
- 数据库/MySQL (27)
- 数据存储 (4)
- lisp (7)
- git (4)
- Utility (3)
- CDN与DNS (54)
- Http (53)
- php (7)
- nginx/lua/openresty (41)
- redis (11)
- TCP/IP (16)
- 互联网 (6)
- kernel (2)
- go (34)
- 区块链 (43)
- 比特股 (13)
- 以太坊 (23)
- 比特币 (23)
- 密码学 (10)
- EOS (53)
- DAG (1)
- docker (1)
- filecoin (7)
- solidity (64)
- ipfs (8)
- 零知识证明 (1)
- openzeppelin (3)
- java (1)
- defi (7)
最新评论
字典:以集合为基础,并支持支持Member,Insert和Remove三种运算的抽象数据类型。
字典是一些元素的集合,每个元素有一个称作关键码的域,不同元素的关键码互不相同
组织方式:线性表,跳表(skip list),散列表(hash table)
线性表
字典是一些元素的集合,每个元素有一个称作关键码的域,不同元素的关键码互不相同
组织方式:线性表,跳表(skip list),散列表(hash table)
线性表
#include<assert.h> template<typename E,typename K> class ChainNode{ public: E data; ChainNode<E,K> *link; ChainNode():link(NULL){}; ChainNode(E& e1,ChainNode<E,K>*next=NULL):data(e1),link(next){}; }; template<typename E,typename K> class SortedChain{ public: SortedChain(){ first = new ChainNode<E,K>; assert(first!=NULL); } ~SortedChain(); ChainNode<E,K> *Search(const K k1)const; void Insert(const K k1,E& e1); bool Remove(const K k1,E& e1); ChainNode<E,K> *Begin(){ return first->link; } ChainNode<E,K> *Next(ChainNode<E,K> *current)const{ if(current!=NULL) return current->link; return NULL; } private: ChainNode<E,K> *first; }; template<typename E,typename K> ChainNode<E,K>* SortedChain<T>::Search(const K k1) const { ChainNode<E,K> *p = first->link; while(p!=NULL&&p->data<k1) p = p->link; if(p!=NULL&&p->data==k1) return p; return NULL; } /* 在大于k1之后插入e1,如果有k1用e1替换 */ template<typename E,typename K> void SortedChain<T>::Insert(const K k1, E &e1) { ChainNode<E,K> *pre,*p,*newNode; p = first->link; pre = first; while(p!=NULL&&p->data<k1){ pre = p; p = p->link; } if(p!=NULL&&p->data==k1){ p->data = e1; return; } newNode = new ChainNode<E,K>(e1); assert(newNode!=NULL); newNode->link = p; pre->link = newNode; } /* 删除k1 */ template<typename E,typename K> bool SortedChain<E,K>::Remove(const K k1, E &e1) { ChainNode<E,K> *p,*pre; p = first->link; pre = first; while(p!=NULL&&p->data<k1){ pre = p; p = p->link; } if(p!=NULL&&p->data==k1){ pre->link = p->link; p->data = e1; delete p; return true; } return false; }
发表评论
-
时间复杂度推导
2012-06-05 22:57 9121.用常数1取代运行时间中的所有加法常数 2.在修改后的运行次 ... -
数据结构概论2
2012-06-04 22:19 766数据元素:组成数据的,有一定意义的基本单位,在计算机中通常作为 ... -
排序概念
2011-06-24 14:51 755数据表:待排序数据元素的有很集合 排序码:通常数据元素有多个 ... -
图的基本概念
2011-06-20 16:18 726完全图:n个顶点,n*(n-1)/2个边的无向图,就是无向完全 ... -
红黑树
2011-06-16 14:29 480红黑树: 1.根结点和所有的叶结点都是黑色 2.从根结点到叶结 ... -
链表反转
2011-06-12 18:03 1062template<typename T> v ... -
散列表(哈希表)
2011-06-09 09:55 1023散列表(hash table):是表示集合和字典的另一种有效方 ... -
跳 表
2011-06-08 11:12 771#ifndef SKIPLIST_H #define S ... -
LinkedSet
2011-06-07 13:08 891改了很久的bug #ifndef LINKEDSET_H ... -
bitset
2011-06-06 12:27 849bitSet.h #ifndef BITSET_H #d ... -
Huffman树
2011-06-02 11:06 859Huffman树,又称最优二叉树,是一类加权路径长度最短的二叉 ... -
堆
2011-06-02 09:19 922在优先级队列的各种实现中,堆是最高效的一种数据结构 关键码: ... -
森 林
2011-06-01 11:09 560森林与二叉树互转,主要是子结点转左子树,兄弟结点转右子树 深 ... -
二叉树的链式实现
2011-05-31 11:24 1241binaryTree.h #ifndef LINKEDBI ... -
二叉树基本概念
2011-05-30 10:05 808一棵二叉树的结点的一个有限集合:该集合或者为空,或者是由一个根 ... -
树基本概念
2011-05-30 09:28 863结点(node):包含数据项及指向其他结点的分支。 结点的度( ... -
广义表
2011-05-27 10:57 896广义表的定义是递归的,因为在表的描述中又用到了表,允许表中有表 ... -
矩阵相关
2011-05-26 10:22 890矩阵:是一个具有m行n列的二维数组。 上三角矩阵:只存储对角 ... -
优先级队列
2011-05-21 11:24 575PQueue.h #ifndef PQUEUE_H #d ... -
链式队列
2011-05-20 12:05 802LinkedQueue.h #ifndef LINKEDQ ...
相关推荐
提供 hutool.jar工具包和多音字词典资源文件下载。不喜勿喷!欢迎留言沟通交流。
五笔字典 丁丁小字典 五笔字典 丁丁小字典
kindle古汉语常用字词典 简繁体.
Unity 3D 4.0.晴窗文字典包汉化开发界面
提出了一种无理数字典码的测试数据压缩方案,能有效地压缩芯片测试数据。方案利用无理数序列建立字典,编码时只需进行相容性检查,无需填充无关位,简化了操作步骤;同时,选择局部压缩率最大的一组数据作为最终编码...
统计数字次数字典法.py
金山词霸2009日文字典 解压放到字典目录下
从“异”字看三种甲骨文字词典存在的释义问题.pdf
数字词典发展策略探析——以《新华字典》APP为例.pdf
mphdict 数字词典系统乌克兰语+(语法词典,同义词典,词源词典+) ... 联系人: 许可证: : 乌克兰语言数字词典系统+(“乌克兰数字词典遗产”系列) 该项目包含语法词典SQLite数据库,该数据库存储有关单词,...
自己学习开发的小字典程序,实现网上资源的搜索整合。希望对大家有所帮助。用vs2005 c#开发 ,提供源码和安装程序
可用于查询东巴文字,喜欢少数民族文字研究的童鞋可以看看。
自制8位纯数字字典,解压后大小953 MB。
1-6位纯数字字典,亲手导出,已验证,解压大小9M左右。
pinyin4j(解决多音字问题源码),pinyin4j源码没有解决多音字的问题,这是一个解决能解决多音字的pinyin4j源码,但是里面的词库不是很全,你可以根据自己的需要进行添加。
生成全四位数字组合的字典0000-9999
歇斯底里Hunspell亚美尼亚文字典安装下载hy_AM.dic和hy_AM.aff文件。 将它们放在hunspell / myspell软件包的字典文件夹中,在Gentoo Linux上,它位于/usr/share/hunspell 。