
数据结构与算法
mjlsuccess
这个作者很懒,什么都没留下…
展开
-
C++类模板实现双链表
-----------------------------------------------------------------List.h-------------------------------------------------------------------------------------------------------- #ifndef LIST_H_XX #de原创 2013-10-25 10:02:43 · 1030 阅读 · 0 评论 -
重写优先队列(priority_queue)
STL里面的优先队列没有查找功能,但是在写A*s原创 2014-07-17 09:15:07 · 1335 阅读 · 0 评论 -
二叉查找树(二)--简单的信息检索程序
继续总结二叉查找树的学习,上篇中最后的测试代码为了简单使用的是整形,那么这篇文章要贴出来的是一个信息检索程序。它要做的就是给定一个文本,找出其中用了哪些不同的词以及每个词使用了多少次。最后的测试数据是截取马丁路德金的前一部分,自己把里面的标点符号都去了。 这里主要用到两个函数update和print他们的作用就不用说了大家一看就懂 void update(Word &word, Searc原创 2013-11-08 17:02:43 · 983 阅读 · 0 评论 -
二叉查找树(一)
上篇文章中记录了二叉树的基本功能的实现,现在继续总结二叉树的学习。为啥要用二叉查找树呢,我们知道在顺序表上使用二分查找是非常快的 ,但是顺序表的插入和删除就显得有点麻烦;而链表的插入和删除仅需要调整一些指责就OK了。二叉查找树就是要达到快速查找(就像顺序表上的 二分查找),而且要做到快速的插入和删除(就想操作链表一样)。 下面是基本定义:二叉查找树是一颗二叉树,它或者为空,或者它的每个节点有原创 2013-11-07 16:51:43 · 801 阅读 · 0 评论 -
类模板实现的基本二叉树
关于二叉树的基本知识还是有必要去了解的,比如根据二叉树写出三种遍历,以及根据给出的遍历写出其他方式的遍历和重构二叉树等,这些知识点还是很有意思的,下面的代码很多都是参考网上的,我这里贴出来主要是作为我学习数据结构的一些总结吧 首先是树节点的定义: template struct Binary_node { Entry data; Binary_node* left; Binary_n原创 2013-11-06 11:17:55 · 4655 阅读 · 2 评论 -
哈希(hash)算法的学习(二)
这一部分主要是贴出代码 #ifndef HASH_TABLE_H #define HASH_TABLE_H #include using namespace std; class Key:public string { public: char key_letter(int position) const; void make_blank(); Key(const string &原创 2013-11-01 17:20:10 · 2060 阅读 · 0 评论 -
哈希(hash)算法的学习(一)
首先要解释一下键的概念,如果学过数据库的话这段可以跳过,比如现在有个Record类记录我们每个人的基本信息,类成员有姓名,学历,身高,身份证号,出生年月等,那么这 些成员中哪一个可以作为唯一标识去区别呢,很明显身份证号是可以的,那么我们就可以认为身份证号码可以作为Record类的一个键 一 :算法摘要 1,初始化操作 ---- 首先必须申明一个数组去容纳哈希表,接下来必须对数组中的所有元素初原创 2013-10-31 17:32:58 · 1746 阅读 · 0 评论 -
C++类模板实现单链表
-----------------------Chain.h--------------------------- #ifndef CHAIN_H_ #define CHAIN_H_ #include using namespace std; enum Err_type{success, underflow, rangeerror, overflow}; template struct C原创 2013-10-28 09:52:59 · 994 阅读 · 0 评论 -
栈学习--简单的括号匹配
#include #include #include using namespace std; void PrintMatchedPairs(char *expr) { stack s; int data; int num = strlen(expr); for(int i=0; i<num; i++) { if(expr[i] == '(') s.push(i);原创 2013-10-27 20:49:36 · 607 阅读 · 0 评论 -
priority_queue的用法
在学习A*算法时用到了prority_queue,在这里简单原创 2014-07-08 13:29:42 · 998 阅读 · 0 评论