![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
程序=数据结构+算法
乌苏~
这个作者很懒,什么都没留下…
展开
-
数据结构与算法—排序算法总结
通常在排序的过程中需要进行两个基本操作:(1)比较两个关键字的大小。(比较)(2)将记录从一个位置移动到另一个位置。(交换)原创 2023-07-26 16:15:21 · 78 阅读 · 0 评论 -
17数据结构—二叉树的拷贝和构造
当二叉树要拷贝构造新的二叉树时,应创建新的一个树存储空间内存等,并将要拷贝的二叉树的值,左节子数,右节子数通通遍历赋值给新的树。原创 2023-07-24 13:36:09 · 139 阅读 · 0 评论 -
16数据结构—求二叉树的深度(高度)
运用deth作为树的深度,用deth1为左子数遍历层次次数,deth2为右子树遍历层数次数,之后进行比较,较大的作为deth树的深度。原创 2023-07-24 13:22:25 · 360 阅读 · 0 评论 -
15数据结构—树的递归遍历求叶子结点
通过传入根节点,遍历左右节点树,当左右节点树都为空(NULL)时的次数和即为二叉树的叶子结点。递归条件:传入的根节点不为空。即if(root==NULL) return;原创 2023-07-24 13:07:30 · 308 阅读 · 0 评论 -
14数据结构—二叉树的递归遍历
将二叉树的根节点传进去,再递归遍历左右子树。递归条件:传进去的根节点不能为空,if(root==NULL) return;先序遍历(根左右)中序遍历(左根右)后序遍历(左右根)原创 2023-07-24 12:08:12 · 159 阅读 · 0 评论 -
13数据结构—二叉树的基本概念
在完全二叉树中,若从上至下,从左至右,则编号为i的节点,左孩子编号必为2i,右孩子编号必为2i+1;例将数组各节点放在树中,下标从1开始,除了根节点,其余节点的双亲均为i/2。: 由n(n>=0)个有限个节点组成的集合,该集合可以是空树或者由一个根节点及其互不相交的左右子树组成。二叉树的每个节点作为根节点时,它的左子树和右子树的绝对值不超过1,也叫平衡因子,只能为1、0、-1。对于任意一棵二叉树,如果叶子结点数为a,度数为2的结点总数为b,则有: a=b+1。深度为k的二叉树最多具有2^k-1个结点。原创 2023-07-24 11:55:16 · 27 阅读 · 0 评论 -
12数据结构—树的基本概念
当且仅当任何节点的两棵子树的高度差不大于1的二叉树\n(3)排序二叉树(二叉查找树Binary Search Tree):又称二叉搜索树、有序二叉树\n2、霍夫曼树(用于信息编码):带权路径最短的二叉树称为哈夫曼树或最优二叉树。:对于一棵二叉树,假设其深度为d(d>1),除了第d层外,其他各层的节点数目均已达最大值,且第d层所有节点从左向右连续地紧密排列,这样的二叉树称为完全二叉树,其中满二叉树的定义是所有叶节点都在最底层的完全二叉树。二叉树通常以链式存储。一个节点含有的子树的根节点称为该节点的子节点。原创 2023-07-24 01:43:05 · 87 阅读 · 0 评论 -
11数据结构—栈的应用后缀表达式求解
主函数实现功能代码逻辑还没那么熟练,有时间须得再敲一次!原创 2023-07-23 19:53:52 · 57 阅读 · 0 评论 -
10数据结构— 栈的应用就近匹配(括号)
设定规则,碰到左括号入栈,在这基础上,遇到右括号出栈,如一直遇不到右括号,则左括号不匹配。如果栈上没有左括号,遇到右括号,即右括号不匹配。判断栈上有没有元素的重要条件为栈的大小。即最后栈上有元素,则可以说明左括号不匹配。栈上没有元素,也不是右括号匹配的情况的话,即最后结果为括号匹配。原创 2023-07-23 15:27:18 · 138 阅读 · 0 评论 -
09 数据结构队列的链式存储
【代码】09 数据结构队列的链式存储。原创 2023-07-23 15:13:01 · 31 阅读 · 0 评论 -
08数据结构—队列顺序存储
队列跟栈不一样,特点为先进先出。这里用数组进行搭建连续内存储存。以数组第一个下标进行进队和出队等操作。原创 2023-07-22 20:40:37 · 24 阅读 · 0 评论 -
06数据结构—栈的顺序存储
使用固定数组来进行数据存储,交给结构体管理。栈的插入与删除都只能在栈顶操作。,内存连续存储单元,增删等操作在栈顶进行。原创 2023-07-22 16:39:53 · 26 阅读 · 0 评论 -
05数据结构与算法—双向循环链表解决约瑟夫问题
这里跟之前不一样的地方是按值删除的函数实现,这里不能用下标查找方式进行删除,以防双向循环导致错乱。主要在主函数测试实现约瑟夫问题代码的实现。原创 2023-07-22 14:18:27 · 192 阅读 · 0 评论 -
04数据结构与算法—双向循环企业链表(小挂钩)
这里的特点主要是链表的尾部指向不为NULL。如链表刚初始化时, list->head.next = &(list->head),指向的为头结点,之前的写法为:list->head.next =NULL。即正是这样才形成了链表双向循环的特点。原创 2023-07-21 20:02:50 · 128 阅读 · 0 评论 -
03数据结构——单向企业链表(小挂钩)
与之前单向顺序链表的区别就是,结构体结点没有直接开辟内存,仅是开辟小挂钩连接,在自定义数据中开辟结点内存空间。原创 2023-07-21 14:10:10 · 45 阅读 · 1 评论 -
02数据结构单向顺序链表搭建(list)
这里的顺序链表与STl的list容器原理相似。这里运用到了结构体实现增删改查等管理功能。原创 2023-07-20 17:52:32 · 44 阅读 · 0 评论 -
01数据结构与算法——动态数组的搭建
利用一个结构体进行动态数组的搭建,从而实现增删改查的功能,类似于STL容器。1.结构体分配内存后,记得数组也要分配实际内存空间。2.代码设计中容量(capacity)与大小(size)的概念要区分开。原创 2023-07-18 22:40:26 · 41 阅读 · 1 评论 -
数据结构基本概念
输入,输出,有穷性,确定性,可行性。:算法需要处理的问题载体。:解决实际问题而设计的。数据结构与算法相辅而成。原创 2023-07-18 20:52:31 · 36 阅读 · 1 评论