随笔分类 -  数据结构和设计模式

摘要:图的入门 图的实际应用 在现实生活中,有许多应用场景会包含很多点以及点点之间的连接,而这些应用场景我们都可以用即将要学习的图 这种数据结构去解决。 地图: 我们生活中经常使用的地图,基本上是由城市以及连接城市的道路组成,如果我们把城市看做是一个一个的点,把 道路看做是一条一条的连接,那么地图就是我们 阅读全文
posted @ 2022-11-13 12:56 程序员小s 阅读(47) 评论(0) 推荐(0) 编辑
摘要:平衡树 之前我们学习过二叉查找树,发现它的查询效率比单纯的链表和数组的查询效率要高很多,大部分情况下,确实是这样的, 但不幸的是,在最坏情况下,二叉查找树的性能还是很糟糕 2-3查找树 为了保证查找树的平衡,我们需要一些灵活性,因此在这里我们允许树中的一个结点保存多个键。确切的说,我们将一棵标准的 阅读全文
posted @ 2022-11-12 10:18 程序员小s 阅读(21) 评论(0) 推荐(0) 编辑
摘要:堆 堆的定义 堆是计算机科学中一类特殊的数据结构的统称,堆通常可以被看做是一棵完全二叉树的数组对象 堆的特性: 1.它是完全二叉树,除了树的最后一层结点不需要是满的,其他的每一层从左到右都是满的,如果最后一层结点不是满的,那么要求左满右不满 2.它通常用数组来实现 具体方法就是将二叉树的结点按照层级 阅读全文
posted @ 2022-11-10 20:08 程序员小s 阅读(36) 评论(0) 推荐(0) 编辑
摘要:二叉树入门 树的基本定义 树是我们计算机中非常重要的一种数据结构,同时使用树这种数据结构,可以描述现实生活中的很多事情, 例如家谱、单位的组织架构等等 树是由n(n>=1)个有限结点组成一个具有层次关系的集合。把它叫做"树"是因为它看起来像一颗倒挂的树, 也就是说它是根朝上而叶朝下的 树具有以下特点 阅读全文
posted @ 2022-11-09 13:38 程序员小s 阅读(74) 评论(0) 推荐(0) 编辑
摘要:栈概述 生活中的栈 存储货物或供旅客住宿的地方,可引申为仓库、中转站。例如我们现在生活中的酒店,在古时候叫客栈, 是供旅客休息的地方,旅客可以进客栈休息,休息完毕后就离开客栈 计算机中的栈 栈是一种基于先进后出(FILO)的数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照 先进后出的 阅读全文
posted @ 2022-11-08 15:50 程序员小s 阅读(59) 评论(0) 推荐(0) 编辑
摘要:线性表 线性表是最基本、最简单、也是最常用的一种数据结构。一个线性表是n个具有相同特性的数据元素的有限序列 前驱元素:若A元素在B元素的前面,则称A为B的前驱元素 后继元素:若B元素在A元素的后面,则称B为A的后继元素 线性表的特征:数据元素之间具有一种"一对一"的逻辑关系 1.第一个数据元素没有前 阅读全文
posted @ 2022-11-08 10:58 程序员小s 阅读(115) 评论(0) 推荐(0) 编辑
摘要:数据结构和算法概述 什么是数据结构 数据结构就是把数据元素按照一定的关系组织起来的集合,用来组织和存储数据 数据结构分类 传统上,我们可以把数据结构分为逻辑结构和物理结构两大类 逻辑结构分类: 逻辑结构是从具体问题中抽象出来的模型,是抽象意义上的结构,按照对象中数据元素之间 的相互关系分类。 a.集 阅读全文
posted @ 2022-11-05 15:42 程序员小s 阅读(16) 评论(0) 推荐(0) 编辑
摘要:设计模式 什么是设计模式 设计模式是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定, 而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案 学习设计模式的意义 设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及 类的关联关系和 阅读全文
posted @ 2022-11-02 13:44 程序员小s 阅读(43) 评论(0) 推荐(0) 编辑

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