自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (2)
  • 收藏
  • 关注

原创 哈弗曼树

哈弗曼树

2017-12-30 19:35:11 440

原创 algorichm库函数c++

agorithm

2017-12-28 23:00:27 371

原创 二叉查找树和AVL树

二叉查找树

2017-12-26 19:00:43 365

原创 线索二叉树

当以二叉链表作为存储结构时,只能找到结点的左右孩子的信息,而不能确定结点在任一序列下的前驱与后继信息,这种信息只有在遍历的动态过程中才能得到。

2017-12-26 13:48:01 271

原创 图的相关概念与存储方式

图的相关概念与存储方式

2017-12-25 10:18:04 380

原创 AOE网络

AOE网络(Activity On Edges)

2017-12-25 09:55:09 831

原创 最短路径:Floyd算法

所有顶点之间的最短路径

2017-12-24 14:22:26 341

原创 最短路径:Dijkstral算法

为求得这些最短路径, Dijkstra提出按路径长度的递增次序, 逐步产生最短路径的算法。首先求出长度最短的一条最短路径,再参照它求出长度次短的一条最短路径,依次类推,直到从顶点v到其它各顶点的最短路径全部求出为止。

2017-12-24 14:02:11 733

原创 数据结构与算法目录

数据结构与算法的整合目录

2017-12-24 11:24:19 371

原创 模式匹配:KMP算法

传统的模式匹配算法是不断地查找、回溯,但回溯的过程浪费时间,但在弄清楚匹配的子串结构时并不需要回溯,而是不断地向前匹配,降低时间复杂度

2017-12-24 09:54:40 562

原创 最短子串

输入两个字符串S,T(均由大写英文字母组成,且length(S)>=length(T)),要求在S中找出包含T中所有字符的最短子串,假设最短子串唯一。(有兴趣的同学可以尝试用O(n)的时间复杂度解决该问题,注:本题无该要求)

2017-12-23 10:37:31 1767

原创 二叉树构造:二叉树的广度优先遍历

输入一棵二叉树的先序遍历序列和中序遍历序列,输出它的广度优先遍历序列。

2017-12-22 18:52:17 1089

原创 哈弗曼树:最短电文

对于一份英文电文,我们可以通过二进制前缀编码(Huffman Coding),将其变为只含“01”的二进制序列。现假设该电文只含小写英文字母(a-z),且至少包含两个不同的字符。要求我们求出该电文经过编码后的长度。

2017-12-22 17:55:24 785

原创 最短路径:孙悟空找唐僧

唐僧被妖怪关在迷宫中。孙悟空好不容易找到一张迷宫地图,并通过一个魔法门来到来到迷宫某个位置。假设迷宫是一个n*m的矩阵,它有两种地形,0表示平地,1表示沼泽,孙悟空只能停留在平地上。孙悟空目前的位置在坐标(sx,sy)处,他可以向上下左右四个方向移动。请你帮助孙悟空计算一下,迷宫中是否存在一条路从他所在位置(sx,sy)到达唐僧所在位置(tx,ty),如果有,请计算出最短的一条路径。

2017-12-22 14:10:06 1080

原创 最小生成树:Prim算法

Prim算法首先第一个问题,什么是最小生成树?最小生成树(代价之和最小的生成树)构造准则:——尽可能用网络中权值最小的边;——必须使用且仅使用n-1 条边来联结网络中的n 个顶点;——不能使用产生回路的边。代码如下:

2017-12-21 18:15:44 247

原创 冒泡排序 c++实现

冒泡排序是最容易实现的算法,相信很多人能够熟练地打出,但为了排序系列的完整,还是把它写出来了

2017-12-21 17:24:59 446

原创 基数排序 c++实现

基数排序是一个稳定的排序,其效率与位数有关,且消耗多余等大的空间来存放数组

2017-12-21 17:20:10 542

原创 希尔排序 c++实现

希尔排序是插入排序的扩展#include using namespace std; int arr[1001]; shell_sort(int n, int ad){ //增量 for(int i = ad; i < n; i++){ int tmp = arr[i]; int j = i - ad; whil

2017-12-21 09:08:56 687

原创 快速排序 c++实现2.0

快速排序#include using namespace std;int arr[1001];void quick_sort(int front, int rear){ if(front >= rear) return; int q = arr[front], i = front, j = rear; while(i < j){

2017-12-20 10:17:48 268

原创 插入排序 c++实现

插入排序的重点在于从后往前面的有序列推进,需要注意到达终点时的处理与其他不同。#include using namespace std;int arr[1001];void insert_sort(int n){ int tmp; for(int i = 1; i < n; i++){ tmp = arr[i]; for(int

2017-12-20 08:56:02 316

原创 归并排序 c++实现

归并排序的核心是划分,不断地把数组分成两段#include #include using namespace std;int arr[1001];void merge_sort(int mi, int mj){ if(mi == mj) return; //if(mj - mi == 1) {if(arr[mi] > arr[mj]) swap(arr[mi]

2017-12-19 23:23:47 715

原创 堆排序 c++实现

堆排序算法堆排序是先建立一个堆,然后在在堆首的元素放在末尾,例如建立的是大顶堆,则对应的是升序排序。然后再对这个变形了的堆进行再次建立堆,只是把当前的最后一个数据忽略。#include #include using namespace std;int heap[1001];void HeapAdjust(int id, int sz){ int l = 2 * id;

2017-12-19 22:46:43 1031

原创 记忆化搜索---最长子串

问题:两个字符串求其最长可不连续相同子串,打印出子串思考:这样的问题可以用回溯的方法,通过递归把每种情况都遍历一遍,再得出最佳结果,但是这样的解法的时间发杂度为2的n次方,当字符串长度达到10以上时首先空间会溢出,再者时间消耗太多。所以考虑用记忆化搜索,用二维数组存储两个字符串中没两个元素之间的关系。在用二维数组存储关系的难题在于如何去遍历,让每个节点的值是到达它的最大值,从子串的定义可以...

2017-12-18 23:01:11 312

原创 硬币问题

硬币问题#include <iostream>#include <algorithm>#include <cstring>using namespace std;const int maxn = 1000 + 5;bool G[maxn][maxn];int base[maxn];int sd[maxn], ld[maxn];i...

2017-12-13 13:54:27 244

原创 快速排序 c++实现

快速排序的c++实现方法

2017-12-13 12:40:22 325

转载 STL中string的使用 c++

c++STL标准库当中string类用得十分频繁,我们有必要对它有一个全面的认识

2017-12-09 13:04:18 1818

高等代数讲义

这套完整的讲义是我们学校一个特别厉害的老师手写的,他平时就用这个上课,我当时就是通过这个讲义学懂了线性代数的内容。看手写讲义会有一种奇妙的感觉吧。

2018-11-08

数理统计课件

中山大学数学学院的数理统计课件,里面还有数理统计导论的答案。

2018-03-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除