![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
FPGA之旅
这个作者很懒,什么都没留下…
展开
-
C++算法系列-递归
一. 递归的定义 第一部分称为基例,列出了产生集合中其他元素的基本元素。 第二部分给出由基本元素或已有对象产生新对象的构造规则。 例如要构造自然数集合,取0为基本元素,然后给出累加1的操作即可。 二. 递归的要点 在运用递归的时候,一定不要忘记了递归的终止条件,所谓递归,递归,归去来兮,否则就会永远递归下去。 在递归时,我们经常说是自己调用自己,其实是一个函数调用同一个函数的另外一个实例...原创 2019-10-30 23:04:20 · 591 阅读 · 0 评论 -
C++算法系列-栈与队列
在学完链表后,接下来我们就开始学习栈和队列了,因为栈与队列的实现是基于链表的(也可以是数组),所以要先学链表,然后紧接着学栈与队列。 一. 栈(链表实现) 1. 栈的简介 在生活中,我们会碰到这样一种情况,在往球桶里面放球的时候,最先放进去的球,只能在最后取出。 为了模拟上述的情况,于是就出现了栈这种数据结构。 一般栈可以就行如下操作 入栈push,往栈里面存放元素。 出栈pop,取出栈的顶...原创 2019-10-22 22:19:55 · 398 阅读 · 0 评论 -
c++算法系列-链表
从今天开始,我就开始了算法的学习。也将学习的东西分享给大家。有不足的地方也希望大家指出。 一. 链表简介 一个班级能最大容纳50人,如果用数组来储存的话,就要定义一个大小为50的数组来储存。但是如果班级没有50人呢?只有25人呢?这样就会造成内存的浪费。又遇到班级扩张,最大人数扩张到100人呢?这样又会造成内存不足。这是数组的两大缺点。 为了解决数组的不足,于是我们设计了一种新的数据结构–链表...原创 2019-10-17 21:35:02 · 478 阅读 · 0 评论 -
栈-C语言及Python实现
栈-C语言及Python实现 栈是数据结构中最为基础的一种数据结构,也是学习数据结构时,在前面就会接触到它,比较基础,也比较简单,同样也比较重要。 栈是一种数据结构,先进后出,就如同球桶一样,最先放进去的球,只能最后拿出来,最后放进去的球,可以第一个被拿出来。 对栈的操作一般有:入栈、出栈、获得栈顶元素、判断栈是否为空、清空栈等。 C语言中实现栈可以使用数组以及链表来实现, 但是数...原创 2019-08-17 17:47:41 · 161 阅读 · 0 评论 -
c++实现各种排序算法
冒泡排序 #if 1 #include<iostream> using namespace std; int main() { int t[10] = { 2,5,7,3,1,8,6,3,7,0 }; int flag=0; for (int i = 1; i < 10; i++) { for (int j = 0; j < 10 - i; j++) ...原创 2019-08-16 10:19:23 · 204 阅读 · 0 评论 -
深度优先算法
深度优先算法是一种搜索算法,在已知空间中,搜索出所有可能的结果,for循环也可以达到同样的效果,但是它的时间的复杂度远高于深度优先算法。 深度优先算法的核心是递归操作,其思想为:解决当下该如何做,至于下一步该如何做,与当下相同。 下面我们来看一个实例,一个数的全排列。暴力解法直接使用嵌套使用for循环,这里当然是使用深度优先来解决啊。 #include<stdio.h> int a...原创 2019-08-28 07:04:19 · 2872 阅读 · 0 评论 -
利用深度优先算法向算法进军
基于深度优先算法完成初级算法题 第一题:六角填数 如图所示六角形中,填入1~12的数字。 使得每条直线上的数字之和都相同。 具体操作在代码里面写得很清楚 #include<stdio.h> int t[13]; int book[13]; void dfs(int step) { int i; if (step == 13) //判断是否12个数字都已经填入 { ...原创 2019-09-01 11:51:16 · 149 阅读 · 0 评论