- 博客(29)
- 资源 (11)
- 收藏
- 关注
原创 快速排序算法
快速排序算法的思想就是:分治的思想,先找一个基准数然后把大的放在一面小的放在另一面,然后递归继续找,当初大一研究了1个多月没弄懂现在大二学了搜索之后,感觉真的简单,发现有时候有的算法真的需要你的积累再去学,盲目学费时费力,最好是可以先放放等你水平上来在看。快速排序法 = 分治法 + 挖坑填数分治法:大问题分解成各个小问题,对小问题求解,使得问题解决1.从右向左开始找第一个小于基准数元素2.从左向右...
2018-04-25 08:47:04 171
原创 Travel Cost(dijkstra写法)
Travel CostTime Limit: 1 Sec Memory Limit: 128 MBSubmit: 11 Solved: 9[Submit][Status][Web Board]DescriptionAC country is a famous and beautiful place. There are N cities in the country, numbered as ...
2018-04-25 07:53:24 680
原创 (裸的最短路劲)Travel Cost(Floyd写法)
Travel CostTime Limit: 1 Sec Memory Limit: 128 MBSubmit: 11 Solved: 9[Submit][Status][Web Board]DescriptionAC country is a famous and beautiful place. There are N cities in the country, numbered as ...
2018-04-25 07:49:14 279
原创 迪杰斯特拉
/*在网图和非网图中,最短路劲的含义是不同的-网图是俩顶点经过的边上权值之和最少的路劲-非网图是俩顶点之间经过的边数最少的路劲*/# include <iostream># include <numeric># include <algorithm># include <functional># include <list...
2018-04-23 17:57:29 213
原创 希尔排序
/*插入排序:1.元素序列基本有序的情况下2.元素个数比较小的时候希尔排序:1.分组 插入排序先分组 然后对每一组分别进行插入排序*///希尔排序的核心思想就是分组插入排序,比如10个数组分成n组,每组分别插入排序然后在合起来在插入排序,因为在合起来的时候比较有序所以费的时间,因此希尔排序又叫减少增量排序,以下是核心代码:void Shell_Sort(int arr[], int length)...
2018-04-23 14:44:22 168
原创 插入排序
/*插入排序: 1.将无需序列插入到有序序列中 2.插入排序在什么情况效率高, 插入排序的时候 数据序列比较少*///插入排序是希尔排序的核心,希尔排序就是围绕着插入排序来写的插入排序的核心代码就是:for(int i = 1; i < length; i++){ if(a[i] < a[i - 1]) { int temp = a[i]; ...
2018-04-23 12:45:48 220
原创 选择排序
//选择就是冒泡排序的改良版,先把当前最大最小的找到,然后在换,稍微减少了遍历的次数void SelectSort(int a[], int length){ int k = 0; //选择排序是减少交换次数 for(int i=0;i<length-1;i++)//开始从小到大排序 { k=i; for(int j=i+1;j<length;j++) if(...
2018-04-23 12:30:07 98
原创 排序的基本概念-以及最简单的排序-冒泡排序
//排序就是无序的数据按照有序的排列出来介绍一种入门的排序冒泡排序//因为比如是10个数我大方向只要排9次就好因为第10次一定已经排好因为我排一次最后面的数是最大或者最小,所以我只要排到它当前位置的前一个就好所以for(int j = 0; j < MAX - i - 1; j++)for(int i = 0; i < MAX - 1; i++) { for(int j = 0;...
2018-04-23 10:33:57 366
原创 Floyd-Warshall
//Floyd-Warshall算法//如果时间允许的话可以用很好用也比较简单//Floyd-Warshall算法核心语句 for(int k = 1; k <= n; k++) { for(int i = 1; i <= n; i++) { for(int j = 1; j <= n; j++) { if(e[i][j] > e[i][k]...
2018-04-18 15:17:34 158
原创 二叉树的非递归遍历
# ifndef LINKSTACK_H# define LINKSTACK_H# include <stdio.h># include <string.h># include <stdlib.h>//链式栈的结点typedef struct LINKNODE{ struct LINKNODE* next;}LinkNode;//链式...
2018-04-18 15:13:30 129
原创 二叉树的拷贝和释放
/*树的定义: 由一个或多个(n >= 0)结点组成的有限集合T,有且仅有一个结点称为根(root),当 n>1时,其余的结点分为m(m > 0)个相互不相交的有限集合T1, T2, ..., Tm。每个集合本身又是棵树,被称作这个根的子树。 树的结构特点: 1.非线性结构,有一个直接前驱,但可能有多个直接后继(1:n) 2.树的定义具有递归行,树中还有树。 3.树可以为空,即结...
2018-04-18 15:11:09 424
原创 走迷宫(广搜做法)
走迷宫Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 94 Solved: 83[Submit][Status][Web Board]DescriptionX身在一个M*N大小的迷宫中,迷宫中的障碍物是不能通行的。迷宫中用S代表X,用E代表出口,#代表障碍物,*代表可以通行的道路。X只可以向上、下、左、右四个方向行走,并且每一步只能走一个单位的长度。...
2018-04-14 08:12:27 1428
原创 走迷宫(深搜做法+)
走迷宫Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 85 Solved: 77[Submit][Status][Web Board]DescriptionX身在一个M*N大小的迷宫中,迷宫中的障碍物是不能通行的。迷宫中用S代表X,用E代表出口,#代表障碍物,*代表可以通行的道路。X只可以向上、下、左、右四个方向行走,并且每一步只能走一个单位的长度。...
2018-04-13 06:49:11 2335
原创 求二叉树叶子结点个数
/*树的定义: 由一个或多个(n >= 0)结点组成的有限集合T,有且仅有一个结点称为根(root),当 n>1时,其余的结点分为m(m > 0)个相互不相交的有限集合T1, T2, ..., Tm。每个集合本身又是棵树,被称作这个根的子树。 树的结构特点: 1.非线性结构,有一个直接前驱,但可能有多个直接后继(1:n) 2.树的定义具有递归行,树中还有树。 3.树可...
2018-04-12 15:26:14 4137
原创 求二叉树高度
/*树的定义: 由一个或多个(n >= 0)结点组成的有限集合T,有且仅有一个结点称为根(root),当 n>1时,其余的结点分为m(m > 0)个相互不相交的有限集合T1, T2, ..., Tm。每个集合本身又是棵树,被称作这个根的子树。 树的结构特点: 1.非线性结构,有一个直接前驱,但可能有多个直接后继(1:n) 2.树的定义具有递归行,树中还有树。 3.树可...
2018-04-12 15:23:04 1237
原创 必须懂的二叉树公式
1、一般二叉树的性质 性质1、在非空二叉树的i层上,至多有2^i个结点。 性质2、高度为K的二叉树中,最多有2^(k+1)-1个结点。 性质3、对于任何一棵非空的二叉树,如果叶结点的个数为n0,度为2的结点个数为n2,则有n0=n2+1。 2、完全二叉树 定义:如果一棵二叉树中,只有最下面的两层结点度数小于2,其余各层结点度数都等于2,并且最下面一层的结点,都集中在该层最左边的若干位置上,则此二叉...
2018-04-11 17:09:47 4815
原创 树的定义及存储以及二叉树的遍历方式()
/*树的定义: 由一个或多个(n >= 0)结点组成的有限集合T,有且仅有一个结点称为根(root),当 n>1时,其余的结点分为m(m > 0)个相互不相交的有限集合T1, T2, ..., Tm。每个集合本身又是棵树,被称作这个根的子树。 树的结构特点: 1.非线性结构,有一个直接前驱,但可能有多个直接后继(1:n) 2.树的定义具有递归行,树中还有树。 3.树可...
2018-04-10 18:29:42 360
原创 栈的应用-后缀表达式求解
# ifndef LINKSTACK_H# define LINKSTACK_H# include <stdio.h># include <string.h># include <stdlib.h>//链式栈的结点typedef struct LINKNODE{ struct LINKNODE* next;}LinkNode;//链式...
2018-04-08 18:55:36 243 1
原创 中缀表达式转后缀表达式(用自己手写的栈库)
# ifndef LINKSTACK_H# define LINKSTACK_H# include <stdio.h># include <string.h># include <stdlib.h>//链式栈的结点typedef struct LINKNODE{ struct LINKNODE* next;}LinkNode;//链式...
2018-04-08 16:47:11 310
原创 栈的应用就近匹配案例(自己手写的栈库并非STL里的栈库)
用的我自己手写的栈库来做的检测字符串里的左右括号是否匹配的一个小程序。# ifndef LINKSTACK_H# define LINKSTACK_H# include <stdio.h># include <string.h># include <stdlib.h>//链式栈的结点typedef struct LINKNODE{ stru...
2018-04-08 07:29:04 206
原创 L2-027. 名人堂与代金券
L2-027. 名人堂与代金券时间限制150 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越对于在中国大学MOOC(http://www.icourse163.org/)学习“数据结构”课程的学生,想要获得一张合格证书,总评成绩必须达到 60 分及以上,并且有另加福利:总评分在 [G, 100] 区间内者,可以得到 50 元 PAT 代金券;在 [60, G)...
2018-04-06 18:42:51 221
原创 String的用法大全
标准c++中String类非常强大,合理使用,能极大提高编程效率,下面就对string类的用法进行总结。头文件#include<string>String类的构造函数如下:1) string s; //生成一个空字符串s2) string s(str) //拷贝构造函数生成str的复制品3) string s(str,index) //将字符串str内“始于位置ind...
2018-04-06 17:50:57 2070
原创 L1-050. 倒数第N个字符串
L1-050. 倒数第N个字符串时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, ..., aaz, aba, abb, ..., abz, ..., ...
2018-04-06 17:25:47 261
原创 L1-049. 天梯赛座位分配
L1-049. 天梯赛座位分配时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选...
2018-04-06 17:22:30 199
原创 企业级队列的顺序存储
# ifndef SEQQUEUE_H# define SEQQUEUE_H# include <stdio.h># include <string.h># include <stdlib.h># define MAX_SIZE 1024//顺序队列结构体typedef struct SEQQUEUE{ void* data[MAX_SI...
2018-04-03 15:48:51 149
原创 企业级栈的链式存储
# ifndef LINKSTACK_H# define LINKSTACK_H# include <stdio.h># include <string.h># include <stdlib.h>//链式栈的结点typedef struct LINKNODE{ struct LINKNODE* next;}LinkNode;//链式...
2018-04-03 10:01:51 131
转载 红黑树(完整C代码实现过程)
转载自:weewqrer 红黑树转载链接:https://blog.csdn.net/weewqrer/article/details/51866488红黑树简介首先红黑树是一棵二叉搜索树,它在每个结点上增加了一个存储位来表示结点的颜色,可以是RED或者BLACK。通过对一条从根节点到NIL叶节点(指空结点或者下面说的哨兵)的简单路径上各个结点在颜色进行约束,红黑树确保没有一条路径会比其他路径长出...
2018-04-03 07:17:39 356
原创 栈的顺序存储
# ifndef SEQSTACK_H# define SEQSTACK_H# include <stdio.h># include <stdlib.h># include <string.h>//数组去模拟栈的顺序存储# define MAX_SIZE 1024# define SEQSTACK_TRUE 1# define SEQSTA...
2018-04-02 15:24:58 93
C++学习代码详解(c++语法,c++数据结构,设计模式,stl)
2018-11-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人