![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 59
墙缝里的草
这个作者很懒,什么都没留下…
展开
-
数据结构--DFS
文章目录排列数字n皇后问题方法一方法二排列数字给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。现在,按照字典序将所有的排列方法输出。利用DFS解决全排列问题dfs 最重要的是搜索顺序。用什么顺序遍历所有方案。对于全排列问题,以 n = 3 为例,可以这样进行搜索:用 path 数组保存排列,当排列的长度为 n 时,是一种方案,输出。用 state 数组表示数字是否用过。当 state[i] 为 1 时:i 已经被用过,state[i] 为 0 时,i 没有被用过。dfs原创 2021-11-14 23:47:48 · 1870 阅读 · 0 评论 -
数据结构--树和二叉树
文章目录树和二叉树树1.树的定义2.树的逻辑表示3.树的基本术语:4.树的性质5.树的基本运算二叉树二叉树的存储结构二叉树的遍历树和二叉树树1.树的定义2.树的逻辑表示 树形表示法 文氏图表示法 凹入图表示法 括号表示法3.树的基本术语: 1‘结点的度:某节点的子树个数 2’树的度:最大节点度 3‘分支结点与叶结点:度数不为0,为0。 4’路径和路径长度 5‘有序树和无序树 6’森林:n个互不相交的树的集合4.树的性质1‘树中的所有结点数等于所有节点的度数之和+12原创 2021-11-07 13:34:45 · 131 阅读 · 0 评论 -
递归C++
文章目录什么是递归递归算法特点主要递归总结什么是递归递归算法是一种直接或者间接调用自身方法的算法。简言之:在定义自身的同时又出现自身的直接或间接调用。递归算法特点递归算法解决问题的特点:1)递归就是方法里调用自身。2)在使用递增归策略时,必须有一个明确的递归结束条件,称为递归出口。3)递归算法解题通常显得很简洁,但递归算法解题的运行效率较低。所以一般不提倡用递归算法设计程序。4)在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等,所以一般不提倡用递原创 2021-10-31 18:45:16 · 319 阅读 · 0 评论 -
数据结构--串
文章目录串串的基本概念串的基本操作代码实现串串的基本概念长度:串中字符的个数,称为串的长度。空串:长度为零的字符串称为空串。空格串:由一个或多个连续空格组成的串称为空格串。串相等:两个串相等,是指两个串的长度相等且对应的字符都相等。子串:串中任意连续的字符组成的子序列称为该串的子串。主串:包含子串的串为该子串的主串。串的基本操作生成等值字符串复制字符串求字符串长度打印比较大小字符串连接返回从第n个字符起的子串在第n个字符前插入字符串从第n个字符起删除子串返回字符的位置原创 2021-10-10 18:32:01 · 836 阅读 · 0 评论 -
数据结构--单链表(数组)
文章目录单链表单链表用数组实现的单链表可以在任意位置插入、删除、替换一个数,相比于用结构体和指针实现的动态链表而言,数组模拟链表运行的速度非常快,动态链表基本会出现超时的现象。但缺点是浪费内存/*H x,表示向链表头插入一个数 x。D k,表示删除第 k 个插入的数后面的数(当 k 为 0 时,表示删除头结点)。I k x,表示在第 k 个插入的数后面插入一个数 x(此操作中 k 均大于 0)*/#include<iostream>#include<cstdlib>原创 2021-09-17 21:40:18 · 400 阅读 · 0 评论