05 2018 档案

摘要:一,什么是图 表示多对多的关系 图包含一组顶点和一组边(不考虑重边和自回路) 二,图的表示 邻接矩阵表示图:有边的表示1,无边的表示0 邻接矩阵优点: 邻接矩阵缺点: 邻接表:只存非零元素,不唯一,稀疏图 三,图的遍历 DFS(深度优先搜索,Depth First Search): 原路返回=>树的 阅读全文
posted @ 2018-05-22 12:21 小雪SS 阅读(2661) 评论(0) 推荐(0) 编辑
摘要:三,队列 队列(操作受限制的线性表):先进先出,一端插入,另一端输出 队列的顺序存储实现:数组+对头变量+队尾变量 如果是正常的线状队列,前面删除数据部分的空间无法使用,会造成浪费;所有出现循环队列 循环队列会出现的问题:空满时front==rear都是相等,无法区分 原因:n种长度值对应n+1种情 阅读全文
posted @ 2018-05-15 15:37 小雪SS 阅读(728) 评论(0) 推荐(0) 编辑
摘要:二,堆栈 中缀表达式:运算符位于两数之后; a+b*c-d/e 后缀表达式:运算符位于两数之后; abc*+de/-;计算机表示式求解时的读法;用堆栈实现计算 前缀表达式:运算符位于两数之前; -+a*bc/de 堆栈(操作受限制的线性表),先入后出,只在一端(栈顶,top)做插入和删除 push和 阅读全文
posted @ 2018-05-14 16:03 小雪SS 阅读(280) 评论(0) 推荐(0) 编辑
摘要:一,什么是树 层次关系 分层次组织在管理上具有更高的效率 查找: 静态查找:记录固定,无插入和删除 动态查找:记录变化,有插入和删除 二,二叉树及其存储结构 树的定义: 二叉树:“儿子-兄弟”表示法;二叉树有左右之分 二叉树的遍历(递归方法实现): 二叉树存储结构: 顺序存储结构 完全二叉树:层次遍 阅读全文
posted @ 2018-05-13 22:30 小雪SS 阅读(592) 评论(0) 推荐(0) 编辑
摘要:一. 线性表及其实现 如何表示多项式:f(x)=a0+a1x+...+an-1xn-1+anxn 顺序存储结构直接表述:一般数组 顺序存储结构表示非零项:结构数组 方法二中如果要对各项进行相加时,注意两项的指数需要按照降序或者升序排列 链表结构存储非零项 线性表:由同类型数据元素(可以是自定义的结构 阅读全文
posted @ 2018-05-13 20:15 小雪SS 阅读(354) 评论(0) 推荐(0) 编辑
摘要:一. 什么是数据结构 解决问题方法的效率跟数据的组织方式有关 图书馆放书:(考虑插入和查找的难易) 解决问题方法的效率跟空间的利用效率有关 第二种递归输出当N特别大时,会导致存储空间不够,溢出,递归函数吃掉所有空间,爆掉了 解决问题方法的效率跟算法的巧妙程度有关 多项式:f(x)=a0+a1x+.. 阅读全文
posted @ 2018-05-11 11:31 小雪SS 阅读(213) 评论(0) 推荐(0) 编辑
摘要:学习笔记目录 阅读全文
posted @ 2018-05-11 10:56 小雪SS 阅读(161) 评论(0) 推荐(0) 编辑
摘要:单链表,弄清楚可stl中list的区别 ListNode的结构 如何向ListNode中插入新的结点:从键盘输入 逆序输出所有元素 阅读全文
posted @ 2018-05-09 17:24 小雪SS 阅读(35546) 评论(0) 推荐(0) 编辑
摘要:简介: 一棵AVL树有如下必要条件: 条件一:它必须是二叉查找树。(左<根<右) 条件二:每个节点的左子树和右子树的高度差至多为1。 AVL相关概念: 平衡因子:将二叉树上节点的左子树高度减去右子树高度的值称为该节点的平衡因子BF(Balance Factor)。 对于平衡二叉树,BF的取值范围为[ 阅读全文
posted @ 2018-05-08 16:30 小雪SS 阅读(889) 评论(0) 推荐(0) 编辑
摘要:红黑树简介: 所谓红黑树,就是平衡的扩充二叉搜索树,红黑树与AVL都是BST的平衡版本,相比AVL的完全平衡,红黑树只要求局部平衡,因此当向红黑树中插入和删除节点时,需要的调整比AVL要少,统计性能要好于AVL树,C++ STL中的map、set、multimap和multiset都应用了红黑树的变 阅读全文
posted @ 2018-05-08 14:27 小雪SS 阅读(196) 评论(0) 推荐(0) 编辑
摘要:内存池出现原因:内存碎片 首先我们需要明确, 内存池的目的到底是什么? 首先你要知道的是, 我们每次使用new T来初始化类型T的时候, 其实发生了两步操作, 既然内存分配耗时, 那我们很容易想到的就是一次性分配一大块内存, 然后在用户需要的时候再划分其中一部分给用户, 这样的话, 一次分配, 多次 阅读全文
posted @ 2018-05-08 11:00 小雪SS 阅读(5699) 评论(0) 推荐(1) 编辑
摘要:1.1 特性 2.1 迭代器 unordered_map的迭代器是一个指针,指向这个元素,通过迭代器来取得它的值。 它的键值分别是迭代器的first和second属性 所以这里‘.'和’->‘是有区别的:->是间接地址取值符;.是直接地址取值符。 与map相比,运行时间和占用率都比较少 参考文章: 阅读全文
posted @ 2018-05-06 16:51 小雪SS 阅读(184) 评论(0) 推荐(0) 编辑
摘要:map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,map中的元素是自动按Key升序排序,所以不能对map用sort函数; map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点 阅读全文
posted @ 2018-05-06 11:49 小雪SS 阅读(181) 评论(0) 推荐(0) 编辑
摘要:当缓冲区中有残留数据时,cin函数会直接去读取这些残留数据而不会请求键盘输入。而且,回车符也会被存入输入缓冲区中。 c++用于清空输入缓存的函数有三个:cin.clear(),cin.sync(),cin.ignore()。 cin.clear()是用来更改cin的状态标示符的,cin在接收到错误的 阅读全文
posted @ 2018-05-04 17:06 小雪SS 阅读(1340) 评论(0) 推荐(0) 编辑
摘要:出错代码段: switch (t) { case 0: int a = 0; break; default: break; }编译时提示:“error C2361: initialization of 'a' is skipped by 'default' label”。这怎么可能? C++约定,在 阅读全文
posted @ 2018-05-04 10:23 小雪SS 阅读(295) 评论(0) 推荐(0) 编辑
摘要:哈希表的定义:哈希表是一种根据关键码去寻找值的数据映射结构,该结构通过把关键码映射的位置去寻找存放值的地方。键可以对应多个值(即哈希冲突),值根据相应的hash公式存入对应的键中。 哈希函数的构造要求: 哈希冲突解决方法:1.链地址法 链地址法的原理时如果遇到冲突,他就会在原地址新建一个空间,然后以 阅读全文
posted @ 2018-05-03 14:18 小雪SS 阅读(1316) 评论(0) 推荐(1) 编辑
摘要:unordered_set的特点: unordered_set基于哈希表,是无序的。 在一个 unordered_set 容器中,元素的值同时可以用来标志对应的元素(即值是自身的主键),每个值必须是唯一的。主键是不可修改的,因此在 unordered_set 中的元素不能被逐个修改(所有元素保持恒定 阅读全文
posted @ 2018-05-03 13:12 小雪SS 阅读(1366) 评论(0) 推荐(1) 编辑
摘要:set特点: set的各成员函数列表如下: 1.begin()--返回指向第一个元素的迭代器 // 如果当前容器是空的,就不能解引用(Dereferenced)返回的迭代器值。 2. clear()--清除所有元素 3. count()--返回某个值元素的个数 // set.count(x)--返回 阅读全文
posted @ 2018-05-03 12:38 小雪SS 阅读(714) 评论(0) 推荐(0) 编辑
摘要:目录 阅读全文
posted @ 2018-05-03 10:44 小雪SS 阅读(203) 评论(0) 推荐(0) 编辑
摘要:leetcode练习时,总会发现运行时间短的代码都会有类似: 所以对这几句代码做了了解: 这个函数是一个“是否兼容stdio”的开关,C++为了兼容C,保证程序在使用了std::printf和std::cout的时候不发生混乱,将输出流绑到了一起。 cin,cout之所以效率低,是因为先把要输出的东 阅读全文
posted @ 2018-05-01 14:00 小雪SS 阅读(4883) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示