算法与数据结构
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 · 431 阅读 · 0 评论 -
循环队列计算
循环队列计算 给自己留个笔记 循环队列入队 (rear+1) mod size 循环队列计算大小 (rear-font+size)mod size 循环队列判断满 (rear +1 ) mod size = front原创 2018-04-12 10:50:34 · 1137 阅读 · 0 评论 -
关于散列表的笔记
关于散列表的笔记 概述 散列技术实在记录的存储位置和它的关键字之间建立一个确定的对应关系f使得每个关键字key对应一个存储位置f(key)。 散列原则 1、计算简单 计算如果过于复杂,那么也会产生性能问题。 2、散列分布均匀 分布均匀的散列查询也会有益于查询减小查询长度。 散列的构造方法 1、直接定址法 取某个关键的线性函数的值为散列值。适用于量比较少的情况。 2...原创 2018-08-17 17:06:48 · 182 阅读 · 0 评论 -
循环队列公式
1、初始化队列 front=rear=0 2、队列为空时 front==rear 3、队列为满时 (rear+1)%maxsize=front原创 2018-08-29 09:53:22 · 690 阅读 · 0 评论