
数据结构学习
tsfg
这个作者很懒,什么都没留下…
展开
-
35 创建二叉树
BTree.h在这里插入代码片BTree.c在这里插入代码片main.c在这里插入代码片。转载 2024-01-16 20:30:23 · 114 阅读 · 0 评论 -
34 二叉树的深层性质
对于任何一棵二叉树,叶节点个数=度为2的结点数 + 1。深度为k的二叉树最多有(2^k)-1个节点。二叉树的第i层最多有2^(i-1)个节点。的高度为[log2(n)] + 1。转载 2024-01-15 20:40:27 · 208 阅读 · 0 评论 -
32 二叉树的定义
对此图要有印象满二叉树一定是完全二叉树,但是完全二叉树不一定是满二叉树。转载 2024-01-15 20:14:39 · 261 阅读 · 0 评论 -
31 树的存储结构二
过程中:如果ret转载 2024-01-13 21:50:27 · 420 阅读 · 0 评论 -
31 树的存储结构一
无法直接用数组表示树的逻辑结构,但是可以设计结构体数组对节点间的关系进行描述:【如表】这样做的问题:可以利用 组织链表parent指针:注意:树结点在 组织链表 中的位置不代表树的任何逻辑关系树的架构图:转载 2024-01-13 21:42:33 · 467 阅读 · 0 评论 -
30 树的定义
树的度?叶节点。转载 2024-01-13 21:07:22 · 426 阅读 · 0 评论 -
11 双向链表
第0个节点【a1】的pre指针为NULL,要注意main.c//双链表int v;int i;v1.v = 1;v2.v = 2;v3.v = 3;v4.v = 4;v5.v = 5;i++)//定义包含指针next的结构体/*该方法用于创建并且返回一个空的线性表*//*该方法用于销毁一个线性表DLinkList*//*该方法用于将一个线性表DLinkList中的所有元素清空。转载 2024-01-11 21:57:34 · 521 阅读 · 0 评论 -
8 单链表---带表头节点
注意:表头节点并不属于数据元素//指针域int length;//单链表的长度}TLinkList。转载 2024-01-06 18:46:29 · 755 阅读 · 1 评论 -
7_线性表的顺序存储结构
文章目录顺序存储结构在C语言中可以用一维数组来实现顺序存储结构获取元素操作插入元素操作插入元素算法删除元素操作删除元素算法创建可复用顺序线性表小结顺序存储结构顺序存储定义线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。在C语言中可以用一维数组来实现顺序存储结构存储空间的起始位置:数组node线性表的最大容量:数组长度MAXSIZE线性表的当前长度:length获取元素操作判断线性表是否合法判断位置是否合法直接通过数组下标的方式获取元素插入元素操作原创 2021-01-10 10:27:33 · 339 阅读 · 0 评论 -
6_线性表的相关操作
文章目录线性表的一些常用操作线性表操作的实现用C语言描述线性表小结线性表的一些常用操作创建线性表销毁线性表清空线性表将元素插入线性表将元素从线性表中删除获取线性表中某个位置的元素获取线性表的长度线性表操作的实现线性表在程序中表现为一种特殊的数据类型线性表的操作在程序中的表现为一组函数[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-umzYEoIc-1610235940150)(E:\md文件资源\1609553862012.png)]用C语言描述线性表原创 2021-01-10 07:46:22 · 276 阅读 · 0 评论 -
5_线性表的本质
线性表的定义线性表(List)是零个或多个数据元素的集合线性表中的数据元素之间是有顺序的线性表中的数据元素个数是有限的线性表中的数据元素的类型必须相同线性表的定义 概念定义 线性表是具有相同类型的 n( ≥ 0)个数据元素的 有限序列线性表的性质性质a0为线性表的第一个元素,只有一个后继an为线性表的最后一个元素,只有一个前驱除a0和an外的其它元素ai,既有前驱,又有后继线性表能够逐项访问和顺序存取线性表的深度理解下面的关系中可以用线性表描述的是 ()A. 班级中同学的友谊原创 2021-01-10 07:44:27 · 206 阅读 · 0 评论 -
4_审判程序的灵魂
算法效率的度量事后统计法 比较不同算法对同一组输入数据的运行处理时间 缺陷 为了获得不同算法的运行时间必须编写相应程序 运行时间严重依赖硬件以及运行时的环境因素 算法的测试数据的选取相当困难事后统计法虽然直观,但是实施困难且缺陷多 一般不予考虑。事前分析估算 依据统计的方法对算法效率进行估算影响算法效率的主要因素 算法采用的策略和方法 问题的输入规模(n) 编译器所产生的代码 计算机执行速度算法效率的简单估算程序效率估算练习启示原创 2021-01-09 14:28:04 · 243 阅读 · 0 评论 -
3_程序的灵魂-算法
提问?程序是否越短越好?是否别人看不懂就证明自己很厉害?数据结构与算法数据结构只是静态的描述了数据元素之间的关系高效的程序需要在数据结构的基础上设计和选择算法算法的定义算法是特定问题求解步骤的描述在计算机中表现为指令的有限序列 算法是独立存在的一种解决问题的方法和思想。对于算法而言, 语言并不重要,重要的是思想算法的特性输入 算法具有0个或多个输入输出 算法至少有1个或多个输出有穷性 算法在有限的步骤之后会自动结束而不会无限循环确定性 算法中原创 2021-01-09 14:23:04 · 147 阅读 · 0 评论 -
2_数据的艺术
数据结构的起源:计算机从 解决数值计算问题 到 解决生活中的问题现实生活中的问题涉及不同个体间的复杂联系需要在计算机程序中描述生活中个体间的联系数据结构主要研究非数值计算程序问题 中的操作对象以及它们之间的关系。关键概念关键概念数据 : 程序的操作对象,用于描述客观事物数据的特点: 1.可以输入到计算机 2.可以被计算机程序处理tips:数据是一个抽象的概念,将其进行分类 后得到程序设计语言中的类型。如int,float,char等等数据原创 2021-01-09 14:19:35 · 164 阅读 · 0 评论 -
1_进阶高手的大门
程序的本质:程序是为了实际的问题而存在从本质上而言,程序是解决问题的步骤描述解决方案的对比#include <stdio.h>#include <malloc.h>long sum1(int n){ long ret = 0; int* array = (int*)malloc(n * sizeof(int)); int i = 0; for(i=0; i<n; i++) { array[i] =原创 2021-01-09 13:54:28 · 143 阅读 · 0 评论