数据结构与算法基础

数组

稀疏矩阵

题目

代入法选A

数据结构的定义

线性表

顺序存储和链式存储的对比

队列与栈

题目

答案选:D

广义表

树与二叉树

二叉树遍历

图中前序遍历结果是?

1,2,4,5,7,8,3,6

图中中序遍历结果是?

4,7,8,5,2,1,3,6

图中后序遍历结果是?

4,8,7,5,2,6,3,1

图中层次遍历结果是?

1,2,3,4,5,6,7,8

反向构造二叉树

需要中序搭配前序和后序遍历才能反向的构造出二叉树

树转二叉树

  • 孩子结点变为左子树结点

  • 兄弟结点变为右孩子结点

查找二叉树

最优二叉树(哈夫曼树)

线索二叉树

平衡二叉树

图的基本概念级存储

  • 在无向图中,若每对顶点之间都有一条边相连,则称该图为完全图( completegraph )。

  • 在有向图中若每对顶点之间都有二条有向边相互连接,则称该图为完全图。

邻接矩阵
邻接表

树的遍历

拓扑排序

最小生成树

算法

算法的特性

  • 有穷性:执行有穷步之后结束
  • 确定性:算法中每一条指令都必须有确切的含义,不能含糊不清。
  • 一个算法有零个或多个输入,以刻画运算对象的初始情况,所谓零个输入是指算法本身给定了初始条件。
  • 一个算法有一个或多个输出。没有输出的算法毫无意义。
  • 有效性:算法的每个步骤都能有效执行并能得到确定的结果。例如 a =0, b / a 就无效

算法的复杂度

查找

顺序查找

二分查找

折半查找在查找成功时关键字的比较次数最多为 log ⁡ 2 n \log_2 n log2n + 1 次。折半查找的时间复杂度为伏O( log ⁡ 2 n \log_2 n log2n) 。

散列表

排序

插入排序

希尔排序

直接选择排序

堆排序

冒泡排序

快速排序法

归并排序法

基数排序

复杂度

来源于软件设计师学习视频(仅供学习参考,附历年真题及详解)_哔哩哔哩_bilibili的网课记

相关推荐
C雨后彩虹3 分钟前
优雅子数组
java·数据结构·算法·华为·面试
漫随流水9 分钟前
leetcode回溯算法(46.全排列)
数据结构·算法·leetcode·回溯算法
We་ct13 分钟前
LeetCode 68. 文本左右对齐:贪心算法的两种实现与深度解析
前端·算法·leetcode·typescript
努力学算法的蒟蒻16 分钟前
day67(1.26)——leetcode面试经典150
算法·leetcode·面试
iAkuya18 分钟前
(leetcode) 力扣100 52腐烂的橘子(BFS)
算法·leetcode·宽度优先
老鼠只爱大米21 分钟前
LeetCode经典算法面试题 #148:排序链表(插入、归并、快速等五种实现方案解析)
算法·leetcode·链表·插入排序·归并排序·快速排序·链表排序
木井巳35 分钟前
【递归算法】计算布尔二叉树的值
java·算法·leetcode·深度优先
睡一觉就好了。1 小时前
直接选择排序
数据结构·算法·排序算法
哈哈不让取名字1 小时前
分布式日志系统实现
开发语言·c++·算法