
数据结构
kiki爱学习
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构入门疑惑点
1.&表示的是引用,有&符号,就表示函数内的变量和主函数的变量是同一个,函数内改变它的值,主函数相应的变量也就跟着改变了;没有&符号,就表示函数内的变量是主函数的变量的一个副本,在函数内改变其值,是不会改变主函数中变量的值的2.编译时出现 ‘error: expected ';', ',' or ')' before '&' token’:在C语...转载 2019-03-31 17:45:39 · 245 阅读 · 0 评论 -
【考前突击】数据结构-图
数据结构实验之图论五:从起始点到目标点的最短步数(BFS)注意何时输出问题;找到1即放入了q[ ]中就输出step[1]并return ;void bfs(int t){ int low=0,top=0,i; v[t]=1; q[top]=t; top++; while(low<top) { int x=q[lo...原创 2019-05-27 21:34:00 · 668 阅读 · 0 评论 -
排序
一.插入排序每一步将一个待排序的元素,按其排序码的大小,插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为止;查找定位->后移->插入;1.直接插入排序顺序查找;先将序列中第一个元素看成有序序列(正序),从第二个记录开始逐个比较插入,使有序序列长度加1;哨兵 a[0] 复制待排序元素,也可判断防止数组下标越界(a[0]=a[0]时退出 while ...原创 2019-06-12 16:45:17 · 164 阅读 · 0 评论 -
二叉排序树
定义二叉排序树(Binary Sort Tree),又称二叉查找树。它是一颗空树,或者具有下列性质:若它的左子树不为空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不为空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树分别为二叉排序树二叉排序树的建立提高查找和插入删除关键字的速度;struct node* creat (struct node...转载 2019-06-10 08:27:12 · 939 阅读 · 1 评论 -
图
遍历广度优先搜索-BFS1.访问图中某顶点v;2.依次访问v的各个未曾访问过的邻接点,依次将访问的这些邻接点作为当前顶点;3.重复上述过程,直至图中所有顶点都被访问到为止int top=1,low=0;void bfs(int t){ low++; int j; for(j=0;j<k;j++) { if(map[t]...原创 2019-05-15 22:42:49 · 154 阅读 · 0 评论 -
数据结构实验之二叉树六:哈夫曼编码
数据结构实验之二叉树六:哈夫曼编码Time Limit:1000 ms Memory Limit:65536 KiBSubmit StatisticProblem Description字符的编码方式有多种,除了大家熟悉的ASCII编码,哈夫曼编码(HuffmanCoding)也是一种编码方式,它是可变字长编码。该方法完全依据字符出现概率来构造出平均长度最短的编码,称之为最优...原创 2019-05-08 19:25:01 · 151 阅读 · 0 评论 -
树
树1.定义有且只有一个根结点,若干个互不相交(没有交集)的子树;除了根结点,每个结点有且只有一个父结点;N个结点的树有N-1条边(每个结点都有往上的一条边除了根结点);2.存储孩子兄弟表示法A、每个结点都有一个指向其第一个孩子的指针B、每个结点都有一个指向其第一个右兄弟的指针二叉树1.性质1)第i层最多 2^ i-1 个结点;2)深度为 k...原创 2019-04-16 21:05:28 · 134 阅读 · 0 评论 -
数据结构实验之栈与队列七:出栈序列判定
Problem Description给一个初始的入栈序列,其次序即为元素的入栈次序,栈顶元素可以随时出栈,每个元素只能入栈依次。输入一个入栈序列,后面依次输入多个序列,请判断这些序列是否为所给入栈序列合法的出栈序列。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个出栈序列,但4,3,5,1,2就不可能是该序列的出栈序列。假设压入栈的所有数字均不相等...原创 2019-04-03 14:42:16 · 132 阅读 · 0 评论 -
KMP
A:abababc B:ababcNext:00120暴力:1A:abababcB:ababc2A:abababc B: ababc3A:abababcB: ababc...原创 2019-04-02 20:39:27 · 169 阅读 · 0 评论 -
括号匹配问题
思路:1.数字字符不处理;2.左括号:入栈;3.右括号:匹配--->出栈; 不匹配--->与左括号不是同类型;没有左括号栈为空;4.序列读完仍有等待匹配的括号--->不匹配;数据结构实验之栈与队列四:括号匹配Time Limit:1000 msMemory Limit:65536 KiBSubmitSta...原创 2019-04-02 19:19:11 · 284 阅读 · 0 评论 -
队列
顺序队列1.队头front删除 队尾rear插入;2.“假溢出”:被删除的位置无法再利用,rear超出数组下界队列仍有储存空间;3.循环队列(当rear、front到达储存空间最大时转为0): 出队判空 rear==front 入队判满(rear与front间的距离): 1) 设置标记tag;入队成功tag=1;出队成功tag=0;当front==rear...原创 2019-04-08 11:26:47 · 569 阅读 · 0 评论 -
最大子段和问题
题目Problem Description给定n(1<=n<=100000)个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n。 例如...原创 2019-03-18 09:12:25 · 485 阅读 · 0 评论 -
数据结构实验之栈与队列六:下一较大值(二)
对于包含n(1<=n<=100000)个整数的序列,对于序列中的每一元素,在序列中查找其位置之后第一个大于它的值,如果找到,输出所找到的值,否则,输出-1。Input输入有多组,第一行输入t(1<=t<=10),表示输入的组数;以后是 t 组输入:每组先输入n,表示本组序列的元素个数,之后依次输入本组的n个元素。Output输出有多组,每组之间输出一...原创 2019-04-06 15:42:30 · 155 阅读 · 0 评论 -
表达式求值问题
1.将中缀表达式转化为后缀表达式从头到尾读取对象:运算数直接输出,顺序不变;运算符与栈顶符号比较: 优先级大于存入,优先级小于等于栈顶符号弹出,继续与新栈顶比较; 1.+ - :出栈直到遇到左括号(如果有 出栈不输出)后存入; 2.* / :如果栈顶符号是*/弹出,直到不是后存入; 3.用wh...原创 2019-03-31 19:54:27 · 445 阅读 · 0 评论 -
数据结构最后一次机测
快排void qqsort(int a[],int l ,int r){ if(l<r) { int x=a[l]; int i=l,j=r; while(i<j) { while(a[j]>=x&&i<j) j--; if...原创 2019-06-18 20:42:47 · 203 阅读 · 0 评论