![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 90
数据结构与算法相关学习记录
自信自律自己
本硕均就读于上海大学,目前在学习前端开发,发现忘的真的好快啊,于是打算把学习笔记以及学习心得整理一下发到博客上,还会分享ros、slam相关的知识,一起努力做一个优秀的人吧。
展开
-
栈和队列
数组是一种线性结构,可在数组的任意位置插入和删除数据,而栈和队列就是比较常见的受限的线性结构。 栈 后进先出,限制是仅允许在表的一端进行插入(进栈)和删除(出栈)运算,这一端称为栈顶,另一端称为栈底。 栈结构面试题 有六个元素6,5,4,3,2,1的顺序进栈(并不是一次性,可以一边入栈一边出栈),问下列哪一个不是合法的出栈序列(C)? A. 5,4,3,6,1,2 B.4 5 3 2 1 6 C.3 4 6 5 2 1 D.2 3 4 1 5 6 解法:1.把脖子右转90度,自己观察 代码实现栈 栈常见的原创 2020-08-23 15:36:07 · 146 阅读 · 0 评论 -
贪心算法和动态规划
贪心算法和动态规划 贪心算法 当遇到一个求解全局最优解问题时,如果可以将全局问题切分为小的局部问题,并寻求局部最优解,同时可以证明局部最优解累计的结果就是全局最优解,则可以使用贪心算法 贪心算法无需回溯,效率高,但是可能不是最优解 面试题:找零问题 示例:假设你有一间小店,需要找给客户46分钱的硬币,你的货柜里只有面额为25分、10分、5分、1分的硬币,如何找零才能保证数额正确并且硬币数最小 ...原创 2020-04-09 23:01:27 · 394 阅读 · 0 评论 -
图结构
图结构 概念 图结构中,一个结点可以链接到任意结点,所有结点链接而成的结构,即为图结构 图结构中的链接可以是有向的,也可以是无向的(双向链接),本文仅讨论双向链接 树结构是一种特殊的图结构 图结构没有根,可以有环,但是在一个图结构中,不能存在两个或以上的孤立结点 可以使用图中任何一个结点表示整个图结构 图结构是一种常见的数据结构,例如网络爬虫抓取的网页就是一种典型的图结构 图结构的代码可表示为:...原创 2020-04-08 15:01:07 · 1473 阅读 · 0 评论 -
树形结构
树形结构 树 树是一个类似于链表的二维结构,每个节点可以指向0个或多个其他节点 树具有以下特点: 单根:如果一个节点A指向了另一个节点B,仅能通过A直接找到B节点,不可能通过其他节点直接找到B节点(严格意义上不能回溯,B不能指向A) 无环:节点的指向不能形成环 树的术语: 结点的度:某个节点的度 = 该节点子节点的数量 树的度:一棵树中,最大的节点的度为该树的度 结点的层:从根开始定义起,...原创 2020-03-31 10:55:50 · 449 阅读 · 0 评论 -
线性结构——排序和查找
排序和查找 排序算法 原地排序:在排序过程中不产生新的数组,以下所示排序算法都是原地排序 排序算法没有优劣之分,在不同的场景中,不同的排序算法执行效率不同。 冒泡排序 Bubble Sort 一次冒泡排序,可以将某个区域序列的最大值排序到该区域的最后一位,具体的方式是: 将第1位和第2位比较,如果前者比后者大则交换 将第2位和第3位比较,如果前者比后者大则交换 依次类推,直到比较到该区域...原创 2020-03-29 17:04:07 · 367 阅读 · 0 评论 -
线性结构——数组和链表
线性结构 数据结构和算法概述 什么是数据结构? 存储和运算是程序的两大基础功能,数据结构是专门研究数据存储的学科。 很多时候,我们无法仅使用简单的数字、字符串、布尔就能完整的描述数据,可能我们希望使用数组、对象、或它们组合而成的复合结构来对数据进行描述。这种复合的结构就是数据结构。 而在实际开发中,我们会发现很多场景中使用的数据结构有着相似的特征,于是,数据结构这门学科,就把这些相似的结构单独...原创 2020-03-25 17:32:59 · 403 阅读 · 1 评论