摘要: 对比前面所学的树,虽然其删除和插入操作可以达到O(logN),而散列表却可以以常数平均时间实现同样的操作。 不过,树的O(logN)这个平均操作时间也未必比散列表的常数平均操作时间差,毕竟,树不需要去进行复杂的散列函数运算。 另外,树还可以支持那些需要序的信息从而使功能更强大的例程,比如支持范围查找 阅读全文
posted @ 2019-05-02 20:49 lincoding` 阅读(757) 评论(0) 推荐(0) 编辑
摘要: 数据结构中数组和链表是基本的数据结构,而栈与队列则是建立在数组或链表的基础上且其一端的输入或输出受限的数据结构。 树,则是为了使对数据的平均操作时间缩小到对数级别的又一种基本数据结构。 在树的基础上,为保证最坏情况下或是在庞大的数据需求的情况下也能使平均操作时间趋紧于上述时间界限,对树做优化,进而也 阅读全文
posted @ 2019-04-25 15:35 lincoding` 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 1.拷贝构造函数和移动构造函数 总的来说,都是用一个已有的对象去创建构造一个新的对象。 当对象中含有指针或类作为数据成员的,对于已有的对象在构造出新的对象后,仍需要对该已有对象进行引用或利用的,需要我们自己定义拷贝构造函数(进行深拷贝)。 而对于已有的对象在构造出新的对象后,将不再对该已有对象进行引 阅读全文
posted @ 2019-04-25 15:22 lincoding` 阅读(5257) 评论(0) 推荐(1) 编辑
摘要: 3.1 左值引用 左值引用,其声明是通过在某个类型后放置一个 & 符号来进行的。 此时,一个左值引用成为了它所引用的对象的同义词。如图 当然,左值引用有以下的几个用途: 1. 给结构复杂的名称起别名 auto & whichList = theList[myhash( x, theList.size 阅读全文
posted @ 2019-04-10 22:45 lincoding` 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 类的含默认参数的构造函数 初始化表列 阅读全文
posted @ 2019-04-10 10:12 lincoding` 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 递归的基本思想,是把规模较大的一个问题,分解成规模较小的多个有相同解法的子问题去解决。 递归算法的设计要遵从4条以下基本法则: 1. 基准情形。必须总要有某些基准情形,它无须递归就能解决出来。 2. 要有进展。对于那些需要递归求解的情形,每一次递归调用都必须要使状况朝向一种基本情形推进。 3. 设计 阅读全文
posted @ 2019-04-10 10:01 lincoding` 阅读(172) 评论(0) 推荐(0) 编辑
摘要: xml文件如下。需要呈现出这样的要求: 2019003,王五,数据结构,95 2019002,李四,操作系统,90 2019001,张三,机器学习,85 <grades> <grade> <id>2019001</id> <name>张三</name> <course>机器学习</course> < 阅读全文
posted @ 2019-03-31 22:41 lincoding` 阅读(5276) 评论(0) 推荐(0) 编辑
摘要: 用于访问xml 的指定节点 阅读全文
posted @ 2019-03-26 21:46 lincoding` 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 先用vs2017建立一个xml文件 创建C#控制台 ,使用预处理头文件 using System; using System.Collections.Generic; using System.Xml; 创建book类: 读取xml,并将他添加到 books 集合中: 向xml中添加新的 book 阅读全文
posted @ 2019-03-26 21:25 lincoding` 阅读(575) 评论(0) 推荐(0) 编辑
摘要: C++的二进制文件读写 ios::app|ios::binary表示打开二进制文件进行追加 预处理文件 和类的新建 类中方法的定义--写 类中方法的定义--读 类中方法的定义--查找 主函数的启用 阅读全文
posted @ 2019-03-20 17:43 lincoding` 阅读(762) 评论(0) 推荐(0) 编辑