
数据结构算法
文章平均质量分 59
Fatestay_DC
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
图的深度优先搜索
Description 给出一个图的邻接矩阵,对图进行深度优先搜索,图的结点编号从0到n-1 Input 第一行输入t,表示有t个测试实例 第二行输入n,表示第1个图有n个结点 第三行起,每行输入邻接矩阵的一行,以此类推输入n行 第i个结点与其他结点如果相连则为1,无连接则为0,数据之间用空格隔开 以此类推输入下一个示例 Ou转载 2014-12-02 14:25:54 · 598 阅读 · 0 评论 -
数据结构之简单的查找算法
(一)顺序查找实验 1、问题描述 给出一个队列和要查找的数值,找出数值在队列中的位置,队列位置从1开始,要求使用带哨兵的顺序查找算法 2、顺序查找算法 ⑴、在表的第0位置,赋给定值Key ⑵、从表中最后一个记录开始 ⑶、逐个进行记录的关键字和给定值Key的比较 ⑷、若某个记录比较相等,则查找成功 ⑸、若直到第1个记录都比较不等,则查找不成功 3、输入 第一行输入n,原创 2014-11-30 21:35:42 · 754 阅读 · 0 评论 -
二叉树遍历
给定一颗二叉树的逻辑结构如下图,(先序遍历的结果,空树用字符‘0’表示,例如AB0C00D00),建立该二叉树的二叉链式存储结构,并输出该二叉树的先序遍历、中序遍历和后序遍历结果 本题目的代码框架参考如下 三种遍历的代码框架 Input 第一行输入一个整数t,表示有t个二叉树转载 2014-12-02 14:29:50 · 938 阅读 · 0 评论 -
顺序建树后序遍历
Description 1、问题描述 给定一棵按顺序存储方式存储的二叉树,请后根遍历这棵二叉树。 2、二叉树创建说明 ⑴、按顺序存储方式存储二叉树的每个结点,其中0表示空结点 ⑵、结点从1开始编号,按完全二叉树方式排列,即如果编号为i的结点有左孩子,则左孩子的编号为2i;如果编号为i的结点有右孩子,则右孩子的编号为2i+1 ⑶、例如:A 0 B 0 0 C D,其中,A为根(编转载 2014-12-02 14:38:31 · 634 阅读 · 0 评论 -
顺序性数据结构小总结
第一题: Problem A: 岗位实践2——顺序表的插入 顺序表是采用数组存储数据的一种线性数据结构。实现顺序表的插入操作,即给出指定位置和数据,把该位置和后面的数据往后移动1位,然后再插入数据。假定顺序表的位置从1开始计算。 #include using namespace std; #define L 50 class list{ private:转载 2014-12-02 14:43:37 · 785 阅读 · 0 评论 -
有向图求拓扑
Description 1、问题描述 给定一个有向图,求出其拓扑排序序列。 2、算法 ⑴、在有向图中选一个没有前驱的顶点且输出之(如果有多个顶点皆没有前驱,序号小的顶点先输出,如果b,d皆无前驱时,先输出b) ⑵、从图中删除该顶点和所有以它为尾的弧 重复⑴⑵两步,直到所有顶点输出为止 Input 第一行:样本顶点个数,假设为n。 第二行,n个顶点(用空格隔转载 2014-12-02 14:40:56 · 909 阅读 · 0 评论 -
拓扑排序
1、问题描述 已知有向图,顶点从0开始编号,求它的求拓扑有序序列。 2、拓扑排序算法:给出有向图邻接矩阵 (1)逐列扫描矩阵,找出入度为0且编号最小的顶点v (2)输出v,并标识v已访问 (3)把矩阵第v行全清0 重复上述步骤,直到所有顶点输出为止 3、输入 第一行输入一个整数t,表示有t个有向图 第二行输入n,表示图有n个顶点 第三行起,输入n行整数,表示图对应的邻接矩阵原创 2014-12-01 17:02:20 · 1069 阅读 · 0 评论 -
图的最短路径算法
1、问题描述 给定一个顶点(始点),求该顶点(始点)到(连通)图中其它顶点的最短路径。 2、算法 ⑴、初始化: S ← {v1 }; // 始点送S D[i] ← arc[1][i], i = 2, 3, …, n; // 从v1到vi的距离 P[i] = {1,i}转载 2014-12-02 14:22:01 · 687 阅读 · 0 评论 -
二叉树叶子节点数
Description 计算一颗二叉树包含的叶子结点数量。 提示:叶子是指它的左右孩子为空。 建树方法采用“先序遍历+空树用0表示”的方法,即给定一颗二叉树的先序遍历的结果为AB0C00D00,其中空节点用字符‘0’表示。则该树的逻辑结构如下图。 Input 第一行输入一个整数t,表示有t个测试数据 第二行起输入二转载 2014-12-02 14:31:01 · 1029 阅读 · 0 评论 -
先根建树中序遍历
Description 1、问题描述 给定一棵按“先根”遍历存储表示的二叉树,请中根遍历这棵二叉树。 2、二叉树创建说明 ⑴、按“先根”遍历存储表示的二叉树中,如果在遍历过程中,发现子树为空,输出0 ⑵、例如:A有B子树,没有右子树,其“先根”遍历为A B 0 0 0 ⑶、例如:A为根,B为A的右孩子;C为B的左孩子,D为B的右孩子,其“先根”遍历为A 0 B C 0 0 D转载 2014-12-02 14:39:44 · 660 阅读 · 0 评论 -
顺序表,链表,堆栈,串
#include using namespace std; #define ok 0 #define error -1 class SeqList { private: int *list; int maxsize; int size; public:转载 2014-12-02 14:48:58 · 565 阅读 · 0 评论 -
Huffman
Description 1、问题描述 给定n个字符及其对应的权值,构造Huffman树,并进行huffman编码和译(解)码。 构造Huffman树时,要求左子树根的权值小于右子树根的权值。 进行Huffman编码时,假定Huffman树的左分支上编码为‘0’,右分支上编码为‘1’。 2、算法 构造Huffman树算法: ⑴、根据给定的n个权值(w1, w2, …, wn)转载 2014-12-02 14:28:50 · 674 阅读 · 0 评论 -
KMP
#include using namespace std; #include const int Length = 20; void get_next(stringSubString, int * next){ int i = 1,j = 0; next[1] =0; while(i if(0== j ||转载 2014-12-02 14:47:09 · 439 阅读 · 0 评论 -
数据结构简单的六种排序算法
#include using namespace std; void Print(int a[],int n) { int i; for(i = 0; i cout cout cout } //改程序测试这个算法时候注意数组输入输出下标需要向前+1 //堆排序 取有孩子的节点依次遍历改结点与孩子结点的大小,构建大顶堆 //根节点(最大值)与最后一个结点交换原创 2014-12-30 16:05:46 · 600 阅读 · 0 评论