![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
qq_34738528
这个作者很懒,什么都没留下…
展开
-
1.小谈一下
目录 1.理解程序的本质 2.小结 1.理解程序的本质 问题:为什么会有各种各样的程序存在?程序的本质是什么? 程序是为了解决实际问题而存在的,从本质而言,程序是解决问题的步骤描述 一小步的进阶:理解实际问题! 确认问题类型 如:数值计算,求最小值个数 确认求解步骤 如:打开文件,读数据关闭文件,计算和 问题:如何判...原创 2019-07-23 22:53:03 · 97 阅读 · 0 评论 -
12.顶层父类的创建
目录 顶层父类的接口定义 编程实验:顶层父类的创建 小结 当代软件结构实践中的经验 尽量使用单重继承的方式进行系统设计 尽量保持系统中只存在单一的继承树 尽量使用组合关系替代继承关系 不幸的事实 C++语言的灵活性使得代码中可以存在多个继承树 C++编译器的差异使得同样的代码可能表现出不同的行为 new 操作如果失败会发生什么? 创建JQLib::Object类的...原创 2019-07-25 23:02:24 · 96 阅读 · 0 评论 -
11.异常类构建
目录 编程实验:创建异常类族 设计原则 小结 编程实验:创建异常类族 #ifndef EXCEPTION_H #define EXCEPTION_H #include "object.h" //#define EXCEPTION_TEST //#define EXCEPTION_TEST_PARENT_CLASS #define EXCEPTION_TEST_CHIL...原创 2019-07-25 09:55:37 · 112 阅读 · 0 评论 -
10.C++异常简介
目录 1.编程实验:C++异常处理初探 2.编程实验:异常类型匹配 3.小结 1.编程实验:C++异常处理初探 2.编程实验:异常类型匹配 #include <iostream> using namespace std; double divide(double a, double b) { const double delta = 0...原创 2019-07-24 23:04:13 · 75 阅读 · 0 评论 -
9.智能指针示例
目录 1.内存泄露 2.小结 1.内存泄露 当代C++软件平台中的智能指针 指针生命周期结束时主动释放堆空间 一片堆空间最多只能由一个指针标识 杜绝指针运算和指针比较 智能指针的设计方案 通过类模板描述指针的行为 能够定义不同类型的指针对象 重载指针特征操作符(->和*) 利用对象模拟原生指针的行为 编程实验:智能指针 这个就开始创建库模板了 SmartPoin...原创 2019-07-24 22:57:27 · 142 阅读 · 0 评论 -
8.泛型编程简介
目录 1.数据结构的特点 2.泛型编程的概念 3.C++中的函数模板 4.函数模板的语法规则 5.函数模板的使用 6.C++中的类模板 7.类模板的应用 8.小结 1.数据结构的特点 问题:如何为数据结构的学习选择合适的语言? 经验分享:支持泛型编程的语言最适合数据结构可能得学习? 2.泛型编程的概念 不考虑具体数据类型的编程方式 对于Swap函数可以下面的泛...原创 2019-07-24 22:38:54 · 76 阅读 · 0 评论 -
6.算法效率的度量
目录 1.常见时间复杂度 2.常见时间复杂度的比较 3.算法分析示例 4.算法的最好与最坏情况 5.算法的空间复杂度 6.算法复杂度计算练习 7.空间与时间的策略 8.面试题 9.小结 1.常见时间复杂度 2.常见时间复杂度的比较 3.算法分析示例 4.算法的最好与最坏情况 5.算法的空间复杂度 6.算法复杂度计算练习 7.空间与时...原创 2019-07-23 23:29:08 · 134 阅读 · 0 评论 -
5.算法的时间复杂度
目录 1.结论 2.算法的复杂度 3.大O表示法 4.常见时间复杂度 5.时间复杂度计算练习一 6.时间复杂度练习二 7.时间复杂度计算练习三 8.小结 1.结论 判断一个算法的效率时,操作数量中的常数项和其他次要项常常可以忽略,只需要关注最高阶项就能得出结论。 问题:如何用用符号性的判断算法的效率 2.算法的复杂度 时间复杂度 算法运行后...原创 2019-07-23 23:18:38 · 156 阅读 · 0 评论 -
4.-程序灵魂的审判
目录 1.算法效率简单估算一 2.算法效率的简单估算二 3.算法效率的简单估算三 4.启示 5.算法操作数量的对比一 6.算法操作数量的对比二 7.算法操作数量的对比三 8.小结 1.算法效率简单估算一 2.算法效率的简单估算二 3.算法效率的简单估算三 实例分析:程序效率估算 #include <iostream> using name...原创 2019-12-17 15:02:51 · 114 阅读 · 0 评论 -
3.初识程序的灵魂
问题:程序是否越短越好?是否别人看不懂就证明自己很厉害? 数据结构静态的描述了数据结构之间的关系 高效的程序需要在数据的基础上设计和选择算法 算法是特定问题求解步骤的描述 在计算机中表现为指令的有限序列 算法是独立存在的一种解决问题的方法和思想像 对于算法而言,语言并不重要,重要的是思想 确定性 算法对合法数据能够得到要...原创 2019-07-23 23:05:52 · 96 阅读 · 0 评论 -
2.1数据的艺术
目录 1.数据的概念 2.数据实例分析 3.物理结构 程序设计的挑战 利用计算机解决现实生活中的问题 生活中的不同个体间存在联系 用计算机程序描述生活中个体间的联系 问题:如何用程序描述生活中的个体? 1.数据的概念 程序的操作独享,用于描述客观事物 数据的特点 可以输入到计算机 可以被计算程序处理 数据中的新概念 数据元素 组成数据的基本单位 数据项 一个数据...原创 2019-07-23 23:01:02 · 87 阅读 · 1 评论 -
13.类族结构的进化
1.遵循经典设计准则 JQLib中的所有类位于单一的继承树 2.改进的关键点 Exception类继承自Object类 堆空间中创建异常对象失败时,返回NULL指针 新增InvalidOperationException异常类 成员函数调用时,如果状态不正确则抛出异常 SmartPointer类继承自Object类 ...原创 2019-07-26 19:59:01 · 106 阅读 · 0 评论