数据结构
-
【算法与数据结构】二叉树的三种遍历代码实现(下)—— 非递归方式实现(大量图解)
上篇:【算法与数据结构】二叉树的三种遍历代码实现(上)—— 用递归序知识点讲解_Hacynn的博客-CSDN博客https://blog.csdn.net/zzzzzhxxx/a…
-
树与二叉树的存储与遍历
文章目录 一、树概念 二、二叉树 三、二叉树的存储与遍历 一、树概念 如前面的顺序表,链表,栈和队列都是线性的数据结构,树是非线性的结构。树可以有n个结点,n>=0,当n=0…
-
【数据结构】单链表详解
当我们学完顺序表的时候,我们发现了好多问题如下: 中间/头部的插入删除,时间复杂度为O(N) 增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗。 增容一般是呈2倍的增长,势…
-
八大排序(一)冒泡排序,选择排序,插入排序,希尔排序
一、冒泡排序 冒泡排序的原理是:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。 以从小到大排序为例,第一轮比较后,…
-
数据结构——二叉树
目录 一、前言 1.1 树 1.2 树的相关概念 二、二叉树 2.1 定义 2.2 特殊类型 2.3 二叉树的性质 2.4 二叉树的存储结构 (1)顺序存储 (2)链式存储 三、…
-
LeetCode——栈的压入、弹出序列
这里我用下面的例子子来讲解一下模拟栈的实现。 例子1:pushed = [1,2,3,4,5] popped = [4,5,3,2,1] 思路:第一步:我们先创建一个栈,然后将pu…
-
如何实现 C 语言结构体内容交换?
在 C 语言中,可以通过多种方法交换结构体内容,其中有两种常见的方法: 使用临时变量: struct myStruct { int a; char b; float c; }; v…
-
排序算法:选择排序(直接选择排序、堆排序)
朋友们、伙计们,我们又见面了,本期来给大家解读一下有关排序算法的相关知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到…
-
【mysql】聚簇索引和非聚簇索引(B树和B+树)
博主简介:想进大厂的打工人 博主主页:@xyk: 所属专栏: mysql 目录 一、索引分类 二、索引的数据结构 2.1 B树:改造二叉树 2.2 B+树:改造B树 三、Mysql…
-
Scratch 之 算法教程 — 递归
递归是指物体表现出相似的重复性。它在生活中很常见,如俄罗斯套娃、汉诺塔游戏、分形图案(科赫雪花、谢尔宾斯三角形等)、两个面对面的镜子、斐波那契数列,二叉树等 …
-
【算法专题】前缀和
前缀和 前缀和 1. 前缀和【模板】 2. 二维前缀和【模板】 3. 寻找数组的中心下标 4. 除自身以外数组的乘积 5. 和为K的子数组 6. 和可被K整除的子数组 7. 连续数…
-
【数据结构和算法】使用数组的结构实现链表(单向或双向)
上文我们通过结构体的结构实现了队列、以及循环队列的实现,我们或许在其他老师的教学中,只学到了用结构体的形式来实现链表、队列、栈等数据结构,本文我想告诉你的是,我们可以使用数组的结构…
-
【NJUPT】 数据结构与算法分析
银行排队系统 【问题描述】 试设计一个银行排队系统,模拟一般银行的日常对外营业服务,包括顾客到达、等待、办理业务及离开等事件。要求体现“先来先服务”的原则,将传统物理的多个顾客排队…
-
【一起学习数据结构与算法】优先级队列(堆)
目录 一、什么是优先级队列? 二、堆 (heap,基于二叉树) 2.1 什么是堆? 2.2 堆的分类 2.3 结构与存储 三、堆的操作 3.1 堆创建 3.2 插入元素 3.3 弹…
-
数据结构选择题汇总(附答案)
1.下面程序段的时间复杂度为( C )。 for(int i=0;i<m;i++) for(int j=0;j<n;j++) a[i][…
