随笔分类 -  算法与数据结构

摘要:数据结构 前言基本概念算法和算法分析时间复杂度空间复杂度 前言 计算机解决问题的步骤: 从具体问题中抽象出数学模型设计一个解决这个模型的算法编写程序,进行测试、调整得到最终结果 寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些对象之间的关系,然后用数学语言加以描述。 数据结构三要素:逻辑 阅读全文
posted @ 2022-10-17 21:00 Patrick-Rex 阅读(18) 评论(0) 推荐(0) 编辑
摘要:文章目录 串定义基本操作 串 定义 串是由零个或多个字符组成的有限序列 基本操作 StrAssign(&T,chars):赋值操作。把串T赋值为chars。 StrCopy(&T,S):复制操作。由串S复制得到串T。 StrEmpty(S):判空操作。若S为空串,则返回TRUE,否则返回FALSE。 阅读全文
posted @ 2021-07-09 11:21 Patrick-Rex 阅读(24) 评论(0) 推荐(0) 编辑
摘要:队列 先进先出 ==队列(Queue)==是只允许在一端进行插入在另一端进行删除操作的线性表。 队首是允许删除的一端。 队尾是允许插入的一端。 空队是不含任何元素的队列。 基本操作 InitQueue(&Q):初始化队列,构造一个空队列Q。 DestroyQueue(&Q):销毁队列。销毁并释放队列 阅读全文
posted @ 2021-07-07 10:21 Patrick-Rex 阅读(4) 评论(0) 推荐(0) 编辑
摘要:文章目录 栈基本定义基本操作顺序栈共享栈链栈 栈的应用栈的括号匹配 栈 基本定义 先进后出 ==栈(Stack)==是只允许在一端进行插入和删除操作的线性表。 栈顶是允许进行插入、删除操作的那一端。 栈底是固定的,不允许进行插入、删除操作的那一端。 空栈是不含任何元素的栈。 n个不同元素进栈,出栈元 阅读全文
posted @ 2021-07-07 10:19 Patrick-Rex 阅读(5) 评论(0) 推荐(0) 编辑
摘要:文章目录 链表单链表双链表循环链表 链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指 阅读全文
posted @ 2021-06-27 21:31 Patrick-Rex 阅读(7) 评论(0) 推荐(0) 编辑
摘要:文章目录 前言基础概念基本操作 顺序表 前言 基础概念 线性表是最简单的一种数据结构,是具有相同数据类型的n(n>=0)个数据元素的有限序列。n为表长,当n=0是为空表。线性表L: L = { x 1 , x 2 , ⋅ ⋅ ⋅ , x n } L=\{x_1,x_2,···,x_n\} L={x1 阅读全文
posted @ 2021-06-26 20:47 Patrick-Rex 阅读(17) 评论(0) 推荐(0) 编辑
摘要:文章目录 前言线性结构数组链表栈队列 非线性结构集合字典和散列表字典散列表 树二叉树平衡树 排序查找动态规划分治算法回溯算法贪心算法启发式算法 JavaScript基础知识 JavaScript数据结构与算法总结一——线性结构(数组、链表、栈、队列) JavaScript数据结构与算法总结二——非线 阅读全文
posted @ 2021-05-20 08:13 Patrick-Rex 阅读(13) 评论(0) 推荐(0) 编辑
摘要:排序和查找 排序冒泡排序选择排序插入排序快速排序堆排序 查找顺序二分插值 排序 冒泡排序 冒泡排序比较所有相邻的两个项,如果第一个比第二个大,则交换它们。元素项向上移动至正确的顺序,就好像气泡升至表面一样,冒泡排序因此得名。 //一维数组冒泡排序,从大到小 let testArray = [77, 阅读全文
posted @ 2021-05-17 19:05 Patrick-Rex 阅读(6) 评论(0) 推荐(0) 编辑
摘要:文章目录 图图的表示图的遍历深度优先搜索广度优先搜索编码 最短路径Dijkstra 算法Floyd-Warshall 算法 最小生成树Prim 算法Kruskal 算法 图 图由边的集合及顶点的集合组成。 边由顶点 对 (v1,v2) 定义,v1 和 v2 分别是图中的两个顶点。顶点也有权重,也称为 阅读全文
posted @ 2021-05-17 15:14 Patrick-Rex 阅读(9) 评论(0) 推荐(0) 编辑
摘要:文章目录 树二叉树平衡树AVL树红黑树 树 二叉树 树,它对于存储需要快速查找的数据非常有用。树是一种分层数据的抽象模型。 其中的每个元素都叫作节点,节点分为内部节点和外部节点。位于树顶部的节点叫作根节点,它没有父节点。树至少有一个子节点的节点称为内部节点。没有子元素的节点称为外部节点或叶节点。 二 阅读全文
posted @ 2021-05-17 10:12 Patrick-Rex 阅读(8) 评论(0) 推荐(0) 编辑
摘要:文章目录 非线性结构集合字典和散列表字典散列表 非线性结构 集合 ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 Set本身是一个构造函数,用来生成 Set 数据结构。 使用Set类: //Set函数可以接受一个数组(或者具有 iterable 接口的其他数 阅读全文
posted @ 2021-05-17 09:30 Patrick-Rex 阅读(8) 评论(0) 推荐(0) 编辑
摘要:文章目录 线性结构数组增删改多维数组(矩阵) 链表栈队列 线性结构 数组 用 JavaScript 声明、创建和初始化数组很简单 let a = new Array();//创建一个数组 a=[1,2];//为数组赋值 let b = new Array(7);//创建一个指定长度的数组 let c 阅读全文
posted @ 2021-05-17 09:21 Patrick-Rex 阅读(9) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示