摘要:
一、NN和2N的工作机制 一、概述 一、概述 一、概述 一、概述 一、概述 一、概述 一、概述 阅读全文
摘要:
一、安装ruby环境 本身redis集群的安装是很麻烦了,通过ruby工具,可以非常方便的将一系列命令打包为一个脚本! 1、安装ruby环境: 2、安装redis gem redis-3.2.0.gem是一个通过ruby操作redis的插件! 自己下载 二、准备redis.conf 主要配置地方: 阅读全文
摘要:
一、图的常用概念 1、顶点(vertex) 2、边(edge) 3、路径 4、无向图:顶点之间的连接没有方向 5、有向图:有方向 6、带全图 二、图的表示方式 图的表示方式有两种:二维数组(邻接矩阵),链表(邻接表) 1、邻接矩阵 邻接矩阵是表示图形中顶点之间相邻关系的矩阵,对于n个顶点的图而言,矩 阅读全文
摘要:
一、基本介绍 1)平衡二叉树也叫平衡二叉搜索树(Self-balancing binary search tree)又被称为AVL树, 可以保证查询效率较高。 2)具有以下特点:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 3)平衡二叉树的常用实现方 阅读全文
摘要:
一、基本介绍 BST: (Binary Sort(Search) Tree), 对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当前节点的值 小,右子节点的值比当前节点的值大。 说明:如果有相同的值,可以将该节点放在左子节点或右子节点 二、二叉排序树的删除 1)删除叶子节点 (比如:2, 5, 阅读全文
摘要:
一、概述 1、赫夫曼编码也翻译为 哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式, 属于一种程序算法 2、赫夫曼编码是赫哈夫曼树在电讯通信中的经典的应用之一。 3、赫夫曼编码广泛地用于数据文件压缩。其压缩率通常在20%~90%之间 4、赫夫曼码是可变字长编码(VLC)的一 阅读全文
摘要:
一、基本介绍 1、给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这 样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree), 还有的书翻译为霍夫曼树。 2、赫夫曼树是带权路径长度最短的树,权值较大的结点离根较近。 二、重要概念 1、路径和路径长度 阅读全文
摘要:
一、 顺序存储二叉树 1、概述 从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组 2、特点 顺序二叉树通常只考虑完全二叉树 第n个元素的左子节点为 2 * n + 1 第n个元素的右子节点为 2 * n + 2 第n个元素的父节点为 (n-1) / 2 阅读全文
摘要:
一、为什么需要树这种数据结构 1、数组存储方式的分析 优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。 缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低 [示意图] 2、链式存储方式的分析 优点:在一定程度上对数组存储方式有优化(比如:插入一个 阅读全文
摘要:
一、冒泡排序 1、基本介绍 冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有 阅读全文