随笔分类 - 数据结构
摘要:一、cache 1、cache的定义。从宏观上讲,缓存是处理速度不匹配的问题。可以是静态缓存(内存缓存、磁盘缓存)、动态缓存(前端的缓存)和数据库缓存。另一个角度,从CPU来看,可以是寄存器和内存之间的缓存,可能会有几级缓存,比如三级缓存。 2、cache缓存算法。 cache缓存及其实现:http
阅读全文
摘要:【前言】此篇是《数据结构和算法》的第七章读书笔记 :排序 本篇总结数组中元素的排序问题。根据元素的规模,通常的排序可以在内存中完成,规模太大而必须在磁盘等存储上完成的排序称为外排序。任何通用的排序算法都需要 Ω(NlogN) 次比较。 一、几种简单排序算法 数组的一个逆序指数组中位置 i 和 j 满
阅读全文
摘要:【前言】树在计算机领域二等应用还是非常广泛的,比如select端口复用和map()...等等容器底层都是用的一种二叉树 红黑树;一些数据库会用到非二叉树B树;当然一些排序算法也会用到,结合浙江大学陈越老师的公开课,现在总结一下。主要围绕树中的二叉树来讲! 一、基本知识 1、定义略。 2、常见二叉树
阅读全文
摘要:【前言】四者在我看来可以分成两部分介绍。数据结构里面的堆、栈,内存模型里的堆区、栈区。 一、二者区别 1、首先,栈和堆是数据结构里面的叫法,栈:先进后出,堆:优先队列可采用二叉树实现; ps:什么是数据结构?数据结构没有统一的定义,维基百科:存储与组织数据的方式。我感觉更应强调数据的组织方式,比如好
阅读全文
摘要:一、表的常见操作 对于一个链表,某个元素有其前驱和后继。对表的操作:find返回关键字首次出现的位置;insert和delete插入和删除某个元素;findkth返回某个位置上的元素; 二、表的简单数组实现 定义一个数组要初始化大小,要实现动态数组的形式,势必会浪费一定资源。由于数组的特性,会涉及后
阅读全文
摘要:一、递归 递归自己调用自己,调用过程是一个碗状结构。但是需要确保在碗底能得到基准情形(数据)。有点类似多线程中嵌入多线程在解决斐波那契时的sync。其本质特征是一个大问题可以分解成更小的问题,小问题解法和大问题一样。 每次调用函数都要有三个操作:调用前先保存寄存器,并在返回时恢复;复制实参;旧值不能
阅读全文

浙公网安备 33010602011771号