随笔分类 - 《面向算法设计的数据结构》学习笔记
摘要:1. 应对所有队列操作进行并发控制以保证数据的正确性,比如可以采用信号量的方法。 2. 实现一种抽象数据类型之前,应该对其作出针对性的考察。
阅读全文
摘要:1. 在仅允许操作当前数据而又需要不断回溯历史数据的场景中,栈是最佳抽象数据类型。 2. 一般用序列容器 deque 来实现栈,它的效率和花销较为均衡。
阅读全文
摘要:1. 数组不能随着问题规模的增大而增加,而动态分配的数组需要手动管理内存,于是 vector 应运而生。 2. 向量所使用的内存来自动态存储区,由系统动态管理。 3. 一般应该传递引用或常量引用形式,避免进行大量复制操作。 4. 当能够预知向量最终长度时,应该直接指定长度,而不要连续使用 push_
阅读全文
摘要:1. 算法与数据结构应该以巧妙的方式结合起来,达到解决问题的目的,并提高效率。 2. 数据的静态组织和动态的操作算法,构成了ADT。一旦选择了某种数据结构,ADT的性能也可以确定。由此得知,抽象数据类型的挑选本质上是确定其数据结构。 3. 用数组存放数据,会出现空间超出不够用或浪费用不完的情况(即使
阅读全文
摘要:1. 不能简单的看语句的执行次数,时间复杂度才是评判标准。有时候粗看一种方案的某些语句执行较少,但实际上在大量数据操作时,时间复杂度便会较高。 2. 空间复杂度并不是简单的累加,而是要考虑算法执行过程中空间所能达到的最大用量。 3. 对固定的分支进行暴力搜索,一般会导致指数时间。组合算法一般有阶乘时
阅读全文

浙公网安备 33010602011771号