算法与数据结构
yatsov
GISer
展开
-
JavaScript 实现堆排序
JS 实现堆排序思路首先堆是一个二叉树,分为最大堆和最小堆。最大堆是代表每个父节点大于子节点,最小堆相反。在排序中堆是一个完全二叉树。 里面涉及了几个公式:几个公式一个二叉树完全二叉树他的节点计算公式为 parent(i) = floor(i/2); ileft(i)=2i; iright(i)=2i+1; 而数组中公式则是有变化 parent(i) = flo...原创 2018-03-31 22:37:38 · 447 阅读 · 0 评论 -
循环队列计算
循环队列计算 给自己留个笔记循环队列入队(rear+1) mod size循环队列计算大小(rear-font+size)mod size循环队列判断满(rear +1 ) mod size = front原创 2018-04-12 10:50:34 · 1157 阅读 · 0 评论 -
关于散列表的笔记
关于散列表的笔记概述散列技术实在记录的存储位置和它的关键字之间建立一个确定的对应关系f使得每个关键字key对应一个存储位置f(key)。散列原则1、计算简单计算如果过于复杂,那么也会产生性能问题。2、散列分布均匀分布均匀的散列查询也会有益于查询减小查询长度。散列的构造方法1、直接定址法取某个关键的线性函数的值为散列值。适用于量比较少的情况。2...原创 2018-08-17 17:06:48 · 194 阅读 · 0 评论 -
循环队列公式
1、初始化队列 front=rear=02、队列为空时front==rear3、队列为满时(rear+1)%maxsize=front原创 2018-08-29 09:53:22 · 738 阅读 · 0 评论