![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
鬼 | 刀
Nothing is impossible.
展开
-
时间复杂度和空间复杂度
一、时间复杂度时间复杂度是用来估计算法运行时间的一个式子(单位);一般来说时间复杂度高的算法比时间复杂度低的算法慢。常见的时间复杂度(按效率排序)不常用的时间复杂度如何快速判断出时间复杂度循环减半的过程-------->复杂度为O(logn)几次n的循环就是n的几次方的复杂度二、空间复杂度空间复杂度:用来评估算法内存占用大小的一个式子,是对一个算法在运行过程中临时占用存储空间大小的量度。 计...原创 2018-07-16 01:14:58 · 228 阅读 · 0 评论 -
数据结构——需要学习以下知识点
需要学习的内容 数据结构的应用 数据库软件的设计:例如使用树结构(AVL、红黑树、Treap伸展树、B树)、哈希表等。 操作系统的设计:通常操作系统通常需要在多任务之间切换,这时就用到了栈和堆这样的数据结构。 文件压缩:例如哈夫曼树等。 通讯录:例如使用Trie-前缀树这种数据结构。 寻路算法:这种图论算法使用到了DFS(深度优先遍历)和B...原创 2019-02-25 12:16:03 · 241 阅读 · 0 评论 -
数据结构——栈
一、 以char数据类型作为栈中的数据类型 要求:实现栈的内存分配、回收栈、判断栈空/满、清空栈、计算栈的长度、入栈、出栈操作、遍历栈中的所有元素 入栈的数据类型为char类型(实际上栈作为一种机制是没有数据类型上的界限的) 语言实现:C++ main.cpp //要求如下 /* 栈类 要求: MyStack(int size); //分配内存初始化空间,设定栈容量,栈...原创 2019-02-25 12:15:52 · 499 阅读 · 0 评论 -
《数据结构》陈越——习题及解析一
一、基本概念 时间复杂度 二、线性结构 线性表及其实现 解析:因为顺序存储的方式是数组,故在数组中查找第k个元素,一步就能找到;在链式存储结构中,其存储形式是使用链表,由于每个节点都存储了下一个节点的地址,因此无法一下子知道第k个元素在哪里,需要一步步的查找,寻找第k个元素需要查找k步。 解析:应该改为: int Length(List *PtrL) { ...原创 2019-03-04 08:47:09 · 16248 阅读 · 0 评论 -
《数据结构》陈越——习题及解析二
二叉树及存储结构 解析: 解析:总共有六层,最大结点树为2^6-1=63,这是对于完美二叉树来说的,但是由于其第六层节点数为8,不为2^(i-1),i为第i层的序号i,即不为2^(6-1)=32,故不可能为63,总结点数要小于63,分析可知为:8+16+8+4+2+1=39 解析:此二叉树为完美二叉树,最少结点树是对于每层(除根节点层)来说只有靠最左边的左子树存在左右结点,故最少结...原创 2019-03-04 19:03:16 · 7837 阅读 · 1 评论