
数据结构和算法
日晞Pisces
爱猫,爱电脑,爱睡觉,爱生活和其他
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
迷宫求解问题——堆栈的使用
代码:queue.h#define STACK_INIT_SIZE 100#define STACKINCREMENT 10#define Status bool#define ERROR 0#define OVERFLOW -2#define OK原创 2011-07-23 23:15:41 · 514 阅读 · 0 评论 -
排序
我的所有的排序算法都写在一个cpp文件里面了,所以日记也不分开每种都介绍了。 排序只要分为: 基于关键字比较的:插入排序(直接插入排序和希尔排序),交换排序(冒泡和快速排序),选择排序(直接选择和堆排序),合并排序等。 不基于关键字比较的:分布排序。 其中,广泛应用的是快速排序。 几种排序算法是:直接插入,选择插入排序,冒泡排序,希尔排序,快速排序(递归和不递归的),二路归并排原创 2016-05-10 21:02:55 · 619 阅读 · 0 评论 -
查找
二叉查找树又叫二叉排序树或者二叉搜索树;最优二叉查找树是只内外结点权值之和最小的二叉查找树。 头文件: //二叉查找树 template class BSTNode { public: BSTNode *llink; BSTNode *rlink; T key; BSTNode(const T &item, BSTNode *lptr = NULL, BSTNode原创 2016-05-10 21:05:13 · 562 阅读 · 0 评论 -
栈
//头文件: //顺序存储的栈: template class AStack //class stack { private: int size; T * stackArray; int top; public: AStack(int MaxStackSize) { size = MaxStackSize; stackArray = new T[MaxSta原创 2016-05-10 21:14:20 · 563 阅读 · 0 评论 -
链表
//头文件: //顺序存储方式: #include template class LinearList { private: int MaxSize; int length; T *element; public: LinearList(int maxListSize = 10); ~LinearList() {delete [] element;} bool原创 2016-05-10 21:19:28 · 552 阅读 · 0 评论 -
队列
//顺序存储: //头文件: template class AQueue { private: int front; int rear; int count; T *QArray; int size; public: AQueue(int MaxQueueSize = 10); ~AQueue(void) {delete [] QArray;} bool QI原创 2016-05-10 21:22:00 · 568 阅读 · 0 评论 -
树
主要有二叉树,线索二叉树,AVL树,哈夫曼二叉树,二叉查找树(查找那一篇已发,这里不再重复) 二叉树: //头文件 : template class TreeNode //采用左孩子,右兄弟的链式方式存储 { private: T data; TreeNode *firstChild, *nextBrother; public: TreeNode (T value = 0, T原创 2016-05-10 21:25:44 · 593 阅读 · 0 评论 -
图
//采用的是链式存储: //头文件: struct Edge { friend class Graph_List; int VerAdj; //邻接顶点序号,从0开始 int cost; //cost Edge *link; //next point of Edge }; struct Vertex { friend class Graph_List; int VerName;原创 2016-05-10 21:28:32 · 672 阅读 · 0 评论