408 数据结构
文章平均质量分 83
408数据结构的学习
cwtnice
切莫胸怀大志,却又虚度光阴
展开
-
第八章 排序
8.2 插入排序 8.2.1 直接插入排序 描述: 对于一个序列A[1]~A[n],令i从2开始枚举,循环n-1趟操作。 例如,当进行到第 j 趟时,此时在A[ j ]之前的A[ 1 ] ~ A[ j-1 ]已经有序,那么A[ j ]就从后往前枚举已有序部分找某个位置,使得当A[ j ]插入后(有序部分在插入位置及其后面的元素会往后移一位),A[ 1 ] ~ A[ j ]有序。 初始有序部分长度为1,每执行一趟使得有序部分长度+1,执行完n-1趟后,实现整个序列有序。 void insert_sort..原创 2021-10-19 16:20:30 · 153 阅读 · 0 评论 -
第七章 查找
7.1 查找的基本概念 静态查找表: 无需插入和删除的查找表,反之称为 动态查找表 适合静态查找表的有: 顺序查找 折半查找 散列查找 适合动态查找表的有: 二叉排序树BST(包括进阶的平衡二叉树AVL、B树) 散列查找 关键字: 可以 唯一 标识元素的某个数据项的值 平均查找长度(查找算法效率的主要指标): 所有 查找过程中进行关键字比较次数的平均值: ASL=∑i=0nPiCi ASL = \sum_{i=0}^{n} PiCiASL=i=0∑nPiCi Pi为概率,如果所有元素概率相等,就是原创 2021-10-14 23:34:01 · 1533 阅读 · 1 评论 -
第3章 栈和队列
3.3栈和队列的应用 栈的应用: 括号匹配 表达式求值 递归 迷宫求解 括号匹配: 输入一行由 <、(、{、[、>、)、}、] 构成的字符串 如果输入的字符串中的括号正确匹配则输出 yes,否则输出 no。 例如输入:(){},输出yes 思路: 循环扫描字符串,遇到左括号就讲它入栈,遇到右括号就检查是否栈不为空且能和栈顶符号匹配 #include <iostream> #include <stack> #include <cstring> using n原创 2021-09-26 15:18:50 · 308 阅读 · 0 评论