数据结构
文章平均质量分 82
宋猛
get loading get coding
展开
-
数据结构-5-平衡二叉树算法原理解析
平衡二叉树定义(AVL):它或者是一颗空树,或者具有以下性质的二叉树:它的左子树和右子树的深度之差的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。平衡因子(bf):结点的左子树的深度减去右子树的深度,那么显然-1 很显然,平衡二叉树是在二叉排序树(BST)上引入的,就是为了解决二叉排序树的不平衡性导致时间复杂度大大下降,那么AVL就保持住了(BST)的最好时间复杂度O(logn原创 2014-09-06 09:32:50 · 1043 阅读 · 0 评论 -
数据结构-6-深度广度遍历搜索原理详解
深度广度遍历搜索的定义想必大家都能熟练的掌握了,下面我就通过一个图的实例,把应用的代码直接贴上供大家参考,以后可以直接借鉴或者使用。#include #include #include "Queue.h" using namespace std; //图的邻接矩阵存储表示 #define INFINITY INT_MAX #define MAX原创 2014-09-06 09:40:16 · 1227 阅读 · 1 评论 -
数据结构-1-内存映射文件原理详解
内存映射文件,初次听说,不知道它和虚拟内存有什么区别,也不知从何说起。经过一番查询和研究,下面,我先解释一下我对内存映射文件这个词的理解,解释下原理,然后具体说明其用法。这是数据结构一个很偏僻但是很经常出现的面试考点,希望大家注意。原理 “映射”,就和数学课上说的“一一映射”是一个意思,就是建立一种一一对应关系,在这里主要是只 硬盘上文件 的位置与进程 逻辑地址空间 中一块大小相同的区域之原创 2014-09-01 23:22:04 · 1050 阅读 · 1 评论 -
数据结构-3-哈希表工作原理详解
哈希表工作原理 1、简介 哈希表(Hash Table)作为一种高效的数据结构,它正在竞赛中发挥着越来越重要的作用。 哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比较多的内存。然而在当前可利用内存越来越多的情况下,用空间换时间的做法是值得的。另外,编码比较容易也是它的特点之一。 哈希表又叫做散列表,分为“原创 2014-09-01 23:39:49 · 685 阅读 · 0 评论 -
数据结构-2-哈夫曼树与哈夫曼编码 原理详解
哈夫曼树与哈夫曼编码 首先,介绍下什么是哈夫曼树。哈夫曼树又称最优二叉树, 是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点 的权值乘上其到根结点的 路径长度(若根结点为0层,叶结点到根结点的路径长度 为叶结点的层数)。树的带权路径长度记为WPL= (W1*L1+W2*L2+W3*L3+...+Wn*Ln) ,N个权值Wi(i=1,2,...n)构成一棵有N个叶结点原创 2014-09-01 23:27:47 · 7040 阅读 · 0 评论 -
数据结构-4-Trie树:应用于统计、排序与搜索 原理详解
Trie树:应用于统计、排序和搜索 1. trie树定义 1.Trie树 (特例结构树) Trie树,又称单词查找树、字典树,是一种树形结构,是一种哈希树的变种,是一种用于快速检索的多叉树结构。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。原创 2014-09-03 23:52:00 · 827 阅读 · 0 评论 -
面试-----关于海量数据问题的处理详解
面试--- 关于海量数据问题的处理详解 问题:微博有11亿的用户,其中大约50万是蓝V用户,用户用uid标示,试设计一套架构,判断一个用户是否是蓝V,画出架构图,并给出关键算法。要求消耗的内存最小,效率最高,同时能够适应蓝V用户的动态增减。 海量数据问题的处理个人感觉:这个题不仅考察了基础,同时又有工程上的引申 思路:(1)发现这是个类似redis的架构,KV(原创 2014-10-15 02:40:02 · 1073 阅读 · 0 评论