浅墨浓香

想要天亮进城,就得天黑赶路。

导航

随笔分类 -  数据结构实战分析

该文被密码保护。

posted @ 2017-05-21 11:43 浅墨浓香 阅读(26) 评论(0) 推荐(0)

该文被密码保护。

posted @ 2017-05-20 23:09 浅墨浓香 阅读(34) 评论(0) 推荐(0)

该文被密码保护。

posted @ 2017-05-08 13:29 浅墨浓香 阅读(42) 评论(0) 推荐(0)

该文被密码保护。

posted @ 2017-05-08 00:13 浅墨浓香 阅读(38) 评论(0) 推荐(0)

该文被密码保护。

posted @ 2017-05-07 23:12 浅墨浓香 阅读(35) 评论(0) 推荐(0)

该文被密码保护。

posted @ 2017-05-07 22:36 浅墨浓香 阅读(27) 评论(0) 推荐(0)

摘要:1. 遵循经典设计准则 (1)DTLib中所有类位于单一的继承树下 (2)改进的关键点 ①Exception类继承自Object类:堆空间中创建异常对象失败时,返回NULL指针。 ②新增InvalidOperationException类:成员函数调用时,如果状态不正确则抛出异常。 ③SmartPo 阅读全文

posted @ 2017-04-24 00:28 浅墨浓香 阅读(220) 评论(0) 推荐(0)

摘要:1. 当代软件架构实践中的经验 (1)尽量使用单重继承的方式进行系统设计 (2)尽量保持系统中只存在单一的继承树 (3)尽量使用组合关系代替继承关系 2. 不幸的事实 (1)C++语言的灵活性使得代码中可以存在多个继承树 (2)C++编译器的差异使得同样的代码可能表现不同的行为(如new操作结果失败 阅读全文

posted @ 2017-04-23 22:06 浅墨浓香 阅读(217) 评论(0) 推荐(0)

摘要:1. 异常类构建 (1)异常的类型可以是自定义类类型 (2)对于类类型异常的匹配依旧是至上而下严格匹配 (3)赋值兼容性原则在异常匹配中依然适用 (4)一般而言,匹配子类异常的catch放在上部,匹配父类异常的catch放在下部。 (5)现代C++库必然包含充要的异常类族 2. DTLib异常类功能 阅读全文

posted @ 2017-04-22 17:27 浅墨浓香 阅读(296) 评论(0) 推荐(0)

摘要:1. try-catch语句 (1)try语句处理正常代码逻辑 (2)catch语句处理异常情况 (3)try语句中的异常由对应的catch语句处理 (4)C++通过throw语句抛出异常信息 2. C++异常处理分析 (1)throw抛出的异常必须被catch处理 ①当前函数能够处理异常,程序继续 阅读全文

posted @ 2017-03-30 14:04 浅墨浓香 阅读(197) 评论(0) 推荐(0)

摘要:1. 内存泄漏(臭名昭著的Bug) (1)动态申请堆空间,用完后不归还 (2)C++语言中没有垃圾回收的机制 (3)指针无法控制所指堆空间的生命周期 2. 当代C++软件平台中的智能指针 (1)指针生命周期结束时主动释放堆空间 (2)一片堆空间最多只能由一个指针标识 (3)杜绝指针运算和指针比较 3 阅读全文

posted @ 2017-03-30 13:22 浅墨浓香 阅读(227) 评论(0) 推荐(0)

摘要:1. 数据结构与泛型编程 (1)数据结构专注于数据元素之间的关系,并不关注数据元素的具体类型。 (2)数据结构专注于特定结构上的算法 (3)泛型编程是不考虑具体数据类型的编程方式,很适合编写数据结构的相关代码。 2. C++中的函数模板 (1)一种特殊的函数,可用于不同类型进行调用 (2)看起来和普 阅读全文

posted @ 2017-03-28 20:05 浅墨浓香 阅读(316) 评论(0) 推荐(0)

摘要:1. 数据结构课程该如何学习 (1)先从概念上形象的理解数据元素之间的关系 (2)思考这种关系能够解决什么问题 (3)考虑基于这种关系能够产生哪些算法。 (4)理解和熟悉最终的算法 (5)选择一种熟悉的语言,编码实战 2. 学习大数据分析需要用到数据结构的知识吗? (1)小数据集合 ①设计一定的数据 阅读全文

posted @ 2017-03-23 21:49 浅墨浓香 阅读(200) 评论(0) 推荐(0)

摘要:1. 常见时间复杂度 (1)O(1) < O(logn) < O(n) < O(n*logn) < O(n3) <O(2n) <O(n!) <O(nn) (2)当算法的时间复杂度为O(2n),O(n!)或O(nn)时,即使n值很小,实际的程序运行时间也是不可接受的。 2. 算法的最好与最坏情况 (1 阅读全文

posted @ 2017-03-06 20:41 浅墨浓香 阅读(229) 评论(0) 推荐(0)

摘要:1. 定性判断算法的效率 (1)时间复杂度:算法运行后对时间需求量的定性描述(数据结构课程集中讨论的内容) (2)空间复杂度:算法运行后对空间需求量的定性描述(判断方法类似于时间复杂度) 2. 大O表示法 (1)算法效率严重依赖于操作(Operation)数量 (2)操作数量的估算可以作为时间复杂度 阅读全文

posted @ 2017-03-05 21:51 浅墨浓香 阅读(438) 评论(0) 推荐(0)

摘要:1. 算法效率的度量 (1)事后统计法 ①通过设计好的测试程序和数据,比较不同算法对同一组输入数据的运行处理时间 ②主要缺陷 A.为了获得不同算法的运行时间,必须编写好测试程序 B.运行时间严重依赖硬件以及运行时的环境因素 C.算法的测试数据选取和设计困难,并且程序的运行时间往往还与测试数据的规模有 阅读全文

posted @ 2016-12-15 09:14 浅墨浓香 阅读(349) 评论(0) 推荐(1)

摘要:1. 数据结构和算法的关系 (1)数据结构静态的描述了数据元素之间的关系 (2)数据结构是算法的载体 (3)数据结构和算法相辅相成,共同解决问题 (4)高效的程序需要在数据结构的基础之上设计和选择算法 2. 程序中的算法 (1)算法是特定问题求解步骤的描述,它是独立存在的一种解决问题的方法和思想。对 阅读全文

posted @ 2016-12-08 20:22 浅墨浓香 阅读(267) 评论(0) 推荐(0)

摘要:1. 程序设计的挑战 (1)利用计算机解决现实生活中的问题 (2)生活中的不同个体间存在联系 (3)用计算机程序描述生活中个体间的联系 2. 数据的概念和特点 (1)概念:程序的操作对象,用于描述客观事物(也就是生活中的个体) (2)数据的特点 ①可以输入到计算机 ②可以被计算机程序处理 3. 数据 阅读全文

posted @ 2016-12-08 19:38 浅墨浓香 阅读(326) 评论(0) 推荐(0)

摘要:1. 程序的本质 (1)程序是为了解决实际问题而存在的,从本质上而言,程序是解决问题的步骤 (2)一小步的进阶 ①确认问题类型:如数值计算、求最小值个数 ②确认求解步骤:如打开文件→读数据→关闭文件→计算和 2. 如何判断求解步骤的好坏 (1)程序评鉴初探 ①用尽量少的时间解决问题 ②用尽量少的步骤 阅读全文

posted @ 2016-11-19 15:40 浅墨浓香 阅读(321) 评论(0) 推荐(0)