摘要:
1.选择排序算法 2.插入算法: 3.冒泡排序 4.希尔排序 5.快排 6.归并排序 阅读全文
摘要:
中序遍历: 后序遍历: 2.树在内存中的存储: 树通过双亲链表示法转换成二叉树,然后通过节点表和节点关系表存入内存中。 3、4求树的高度和叶子数、copy二叉树、、、、、、、、?在第三天课程。 5.非递归中序遍历原理 6.树的创建 6.1创建树的方法:###创建;中序、先序创建;中缀后缀创建; 7. 阅读全文
摘要:
2.节点的度:即:节点具有的孩子数量。 3.树的表示法: 图形表示法;广义表示法;左孩子-有兄弟表示法;双亲孩子表示法 4.广义表示法 5.通过左孩子—有兄弟将树转换成二叉树 6.树的存储方式:顺序存储&&链式存储。 7. 8.树的存储都要将树转换成二叉树再存储到内存中,因为非二叉树一个前驱可能有多 阅读全文
摘要:
1.队列定义 2.队列和线性表的关系 结论:不管是用顺序存储的线性表还是链式存储的线性表来模拟队列都是从尾部插入元素,头部取出元素。 阅读全文
摘要:
1.栈是一种特殊的线性表,仅仅能够在一端操作的线性表; 2.栈和线性表的关系 结论:用线性表的顺序存储来模拟栈,栈的开口方向在线性表的尾部,这样减少操作过程中元素的大量移动; 用线性表的链式存储来模拟栈,则栈的开口方向在线性表的头部,这样避免了不断重复的遍历线性表。 3.栈的就近原则 4.中缀转后缀 阅读全文
摘要:
1.为什么需要双向链表 答:单链表的节点都只有一个指向下一个节点的指针;单链表的数据元素无法直接访问前驱元素;逆序访问单链表中的元素是极其耗时的!!! 2.双向链表删除节点的3种情况 结论:在双向链表中插入元素时,使用3个指针变量,实现插入操作;注意:在删除元素时,通过next == null 判断 阅读全文
摘要:
1.软件设计:把软件开发想清楚的过程 2.软件工程:对软件开发全过程进行建模和管理 3.设计模式的分类: 4.设计模式:即把简单的问题复杂化、标准化 5.实现一个类功能性增强的4种方法:继承;组合;依赖;aop编程。 6.构造函数不是线程安全函数;在多个线程同时使用构造函数时,是不安全的。 7.懒汉 阅读全文
摘要:
1.所有的容器提供的都是值语义而非引用语义;容器执行插入元素操作时,其内部执行拷贝动作;所以STL内存储的元素必须被拷贝。 2.除了queue和stack之外,所有的容器都提供了返回迭代器的函数,用其访问容器。 3.各个容器的使用时机 4.函数对象 5.transform()和for_each()函 阅读全文
摘要:
1.容器:即:管理一类元素用的 vector将元素置于动态数组中管理的容器; 迭代器:是一个在STL中可遍历容器全部或部分元素的对象; 迭代器的种类:输入迭代器(只读迭代器);输出迭代器(只写迭代器);正向迭代器;双向迭代器(++--);随机迭代器(随机+n\-n); 2.容器的分类: 3.stri 阅读全文