
数据结构
文章平均质量分 59
cysisu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
用两个栈(C++)实现插入排序
用栈实现插入排序时,我们先将存放该数据的栈排序到另一个栈中,最后在将另外一个栈的内容倒放到当前栈中。图如下:实现:#pragma oncetemplate class AStack {private:int maxSize; // Maximum size of stackint top; // I原创 2017-10-17 16:46:47 · 550 阅读 · 0 评论 -
快速排序(quick sort) C++
快速排序是个递归的过程,采取分而治之的思想。直接举例:有10个数:1,3,7,9,5,8,10,2,4,6;第一步:取最后一个数 6 为节点:第二步:将小于6的放到左边,大于6的放到右边,结果:1,2,5,2,4,8,10,9,7,6(6为节点)第三步:将6和8进行交换,结果:1,2,5,2,4,6,10,9,7,8(6为节点),小于6的在左边,大于6的在右边,整个过程的算法的复杂...原创 2018-04-15 14:23:33 · 852 阅读 · 0 评论 -
最大堆排序 C++
堆排序是一种复杂度为O(nlog(n))的一种高效的排序,这里将展示最大堆的排序算法。堆排序是将数组抽象化成为一个完全二叉树。这里对:A[10]={10,5,13,2,8,12,3,9,7,1}抽象的二叉树结构如下:1、下面三个节点是得到左子节点,右子节点,和父节点。int left(int i) //返回左儿子{ return 2 * i+1;}int right(int i) //...原创 2018-04-19 11:09:09 · 1080 阅读 · 0 评论 -
C语言实现牛顿迭代法
问题:用牛顿迭代法求:x^3-x-1=0的根。编程如下:原创 2018-04-26 00:20:07 · 12901 阅读 · 1 评论 -
湫湫系列故事——消灭兔子
湫湫减肥 越减越肥! 最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏。 游戏规则很简单,用箭杀死免子即可。 箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子造成伤害,对应的伤害值分别为Di(1 <= i <= M),每种箭需要一定的QQ币购买。 假设每种箭只能使用一次,每只免子也只能被射一次,请计算要消灭地图上的所有兔子最少需要...原创 2018-07-24 21:33:56 · 363 阅读 · 0 评论 -
C语言用DFS实现找到图的所有路径(邻接矩阵实现)
链接:https://blog.youkuaiyun.com/hackersuye/article/details/79044555这里详细介绍了DFS遍历的过程,我主要是介绍实现以下是例子,所有图的DFS遍历,只需要修改createGraphics()函数即可,即生成自己的map(邻接矩阵),就可以找到两个点之间所有的路径。1.问题如下:输入一个矩阵的行数r(5-10)与列数c(5-10),生成...原创 2018-11-01 10:12:33 · 9955 阅读 · 2 评论 -
图的邻接矩阵求图的出度,入度,可达矩阵,判断强连通,弱连通,单向连通(C++,vs2017)
一、介绍概念 1、邻接矩阵 将一个n个节点的图,转化成一个n*n的矩阵G,G[i][j]表示第i个节点到第j个节点的的权重。 对于上图邻接矩阵为: 2、度 度分为入度和出度:某个节点的入度就是可以通过一条边到达这个节点的节点个数,某个节点的出度就是可以通过一条边到达其它节点的节点个数 ...原创 2018-12-21 20:41:26 · 32744 阅读 · 1 评论