数据结构回炉
数据结构回炉
Linux老A
嵌入式打杂专家
展开
-
数据结构第14课 线性表的本质和操
本文学习自 狄泰软件学院 唐佐林老师的 数据结构课程 线性表(List)的表现形式 1 零个或多个数据元素组成的集合 2 数据元素在位置上有有序排列的 3 数据元素的个数是有限的 4 数据元素的类型必须相同 线性表(List)的抽象定义 线性表是具有相同类型的n(>=0) 个数据元素的有限序列 (a0,a1,a2,…an-1) ai是表项(数据元素),n是表长度 线性表(List)的性...原创 2019-10-27 23:12:39 · 294 阅读 · 1 评论 -
数据结构第12课 顶层父类的创建
本文学习自 狄泰软件学院 唐佐林老师的 数据结构课程 问题:我们创建数据结构为啥要创建一个顶层父类呢?意义和价值是什么? 创建可复用的数据结构库注意: 当代软件架构实践中的经验 尽量使用单重继承的方式进行系统设计 如果要用C++语言开发一个面向对象的系统,那么不要使用多继承,应该使用单重继承,实现多个不同的接口。不要让一个类继承多个父类。 尽量保持系统只存在单一的继承树 :通过创建一个...原创 2019-10-21 23:27:01 · 204 阅读 · 0 评论 -
数据结构第11课 异常类的构建
本文学习自 狄泰软件学院 唐佐林老师的 数据结构课程 经验:依赖于异常特性所创建出来的库是非常稳定的! 问:我们自己创建的数据结构库是不是也可以引进异常类族呢? 答:可以 有基本类型的异常(int char …等等),当然也可以抛出异常类的对象。 异常的类型可以使自定义类型 对于类类型异常的匹配依旧是至上而下严格匹配 复制兼容性原则在异常匹配中依然适用 一般而言: 匹配子类异常的catch...原创 2019-10-16 22:57:30 · 260 阅读 · 0 评论 -
第十课 数据结构C++异常简介
本文学习自 狄泰软件学院 唐佐林老师的 数据结构课程 为什么在数据结构的课程中插入C++异常课程? 答:我们最终的目的是创建一个可复用的C++数据结构代码库,此代码库除了依赖C++模板技术之外,还依赖C++异常处理机制 异常:可预见的异常情况,错误是不可预见的 C++内置了异常处理的语法元素try…catch try语法处理正常代码逻辑分支 catch语法处理异常代码逻辑分支 try语句中的异...原创 2019-10-12 08:43:32 · 296 阅读 · 0 评论 -
数据结构回炉指南
... ... ... ===================================================================================== 21课 线性表的链式存储结构 问题:顺序存储结构线性表的最大问题是插入和删除需要移动大量的元素,如果数据类型很大的时候,会非常的耗时,该如何解决这个问题? 链式存储的定义: 为了表示每个数据元素与其后...原创 2018-11-01 20:27:58 · 389 阅读 · 0 评论 -
第五课:算法的时间复杂度
本文学习自 狄泰软件学院 唐佐林老师的 C++课程 问题:我们已经有了估算算法复杂性的方法,那么如何用符号定性的判断算法的效率呢? 算法复杂度的概念:算法的复杂度 时间复杂度:算法运行后对时间需求量的定性描述 空间复杂度:算法运行后对空间需求量的定性描述 注意:数据结构课程重点关注的是算法的效率问题,因此,整个课程会集中于讨论算法的“时间复杂度”,但是使用的方法完全可以用于空间复杂度的判断 ...原创 2019-10-09 08:33:19 · 253 阅读 · 0 评论 -
第六课 算法效率的度量
本文学习自 狄泰软件学院 唐佐林老师的 数据结构课程 我们用算法的时间复杂度来表示算法的效率,算法的时间复杂度使用大O表示法来描述,大O表示法的工程意义可以将大O表示法作为一个算法实现或者选择的标准例如要求某个算法是时间复杂度不能超过O(n*n) 当算法的时间复杂度为O(n!)、O(2(n))、O(n(n))是,即使n很小,实际的程序运行时间也会是不可接受的。O(nnn)是分水岭,最差的算法时...原创 2019-10-10 08:41:23 · 234 阅读 · 0 评论