数据结构
biubiu_scut
这个作者很懒,什么都没留下…
展开
-
数据结构和算法——队列的实现
一 用链表实现 二用数组实现原创 2014-09-10 15:08:45 · 463 阅读 · 0 评论 -
数据结构和算法——链表代码2
list.h #ifndef LIST_H #define LIST_H 1 class List{ struct Node{ T data; Node* next; // Node* prev;//如果倒序只需要将一个节点的前后指针交换 Node(const T& d=T()):data(d),next(0){}//零初始化 }; Node* head;//头指针原创 2014-09-10 11:00:44 · 500 阅读 · 0 评论 -
数据结构和算法——链表
#include using namespace std; typedef int T; class List { struct Node { T data; Node* next; Node(const T& d=T()):data(d),next(0){}//零初始化,适用所有类型 }; N原创 2014-09-10 09:45:34 · 466 阅读 · 0 评论 -
数据结构和算法——算法 查找算法(二分查找法)实现
1.算法:解决问题的方法 算法实现在程序里一般表现为一个函数,形参是输入,返回值是输出,函数体是加工过程 当然,cout 特点: 有输入输出(输入不一定是键盘输入的输入,输出也不定输出在屏幕上,也可是文件) 有穷性 可行性 确定性 关心一个算法最主要的是正确性 其次性能(时间,空间),时间复杂度,空间复杂度 然后是可靠性原创 2014-09-11 22:13:56 · 1011 阅读 · 0 评论 -
数据结构和算法——二叉排序(查找)树及实现
1. 优先队列 大根堆 小根堆,先比较谁的优先级高 2.树,一般用递归来实现,也可以用循环和栈来实现。 可空; 如果非空,由根节点和若干个互不交叉的分支组成,每个分支也是树,称为子树 3.二叉树: 如果每个节点最多只有两个分支,就称为二叉树 每个节点都是两个分支的话就称为满二叉树; 相反是完全二叉树。 二叉树的节点包括一个数据,两个指向左右两原创 2014-09-10 21:41:32 · 1061 阅读 · 0 评论 -
数据结构和算法——排序算法(冒泡法 选择法 插入法 快速法)实现
1.排序方法: 比较排序:冒泡排序,选择排序,插入排序,快速排序 不用比较的排序:希尔排序,堆排序 冒泡选择插入复杂度是一个级别的O(N^2) 快速堆归并排序是O(NlogN) 希尔是O(N^1.5) //冒泡排序 //插入法:比冒泡法要快,时间复杂度和冒泡法是一个级别的 从第二个数据开始,把每个数据插入到适当位置 1.找到适当位置:那个位置左边的数据不比原创 2014-09-12 20:27:42 · 1035 阅读 · 0 评论