![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 87
Sakura_j_h_
须知少年凌云志,曾许人间第一流!
展开
-
C语言数据结构--树和二叉树
设二叉树的 根节点所在层数为1,层序遍历就是从所在二叉树的根节点出发,首先访问第一层的树根节点,然 后从左到右访问第2层上的节点,接着是第三层的节点,以此类推,自上而下,自左至右逐层访问 树的结点的过程就是层序遍历。对 于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号 从1至n的结点一一对应时称之为完全二叉树。双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;如上图:A是B 的父节点。孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点;原创 2023-11-19 10:03:33 · 299 阅读 · 1 评论 -
C语言数据结构--链表
例如当前容量为100,满了以后增容到 200,我们再继续插入了5个数据,后面没有数据插入了,那么就浪费了95个数据空间。概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表 中的指针链接次序实现的。1.在一个长度为n的顺序表中删除第i个元素,要移动_______个元素。3.在一个具有 n 个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是。8.一个单向链表队列中有一个指针p,现要将指针r插入到p之后,该进行的操作是____。下面给出了链表的结构来看看。原创 2023-11-17 09:00:00 · 792 阅读 · 1 评论 -
C语言数据结构--栈和队列
队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先 进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为。队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构, 出队列在数组头上出数据,效率会比较低。栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则。栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。原创 2023-11-18 09:00:00 · 232 阅读 · 1 评论 -
C语言数据结构-顺序表
静态顺序表的定长数组导致N定大 了,空间开多了浪费,开少了不够用。所以现实中基本都是使用动态顺序表,根据需要动态 的分配空间大小,所以下面我们实现动态顺序表。线性表是一种在实际中广泛使 用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串...线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的, 线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存 储。在数组上完成数据的增删查改。原创 2023-11-16 09:00:00 · 595 阅读 · 1 评论 -
C语言数据结构--时间复杂度和空间复杂度
1.1算法效率算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度, 而空间效率被称作空间复杂度。时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主 要衡量一个算法所需要的额外空间,在计算机发展的早期,计算机的存储容量很小。所以对空间 复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。1.2 时间复杂度的概念。原创 2023-11-13 09:51:47 · 220 阅读 · 0 评论