
数据结构
yuyin86
这个作者很懒,什么都没留下…
展开
-
B-Tree, B+Tree, B*树介绍
【摘要】 最近在看Mysql的存储引擎中索引的优化,神马是索引,支持啥索引.全是浮云,目前Mysql的MyISAM和InnoDB都支持B-Tree索引,InnoDB还支持B+Tree索引,Memory还支持Hash.今天从最基础的学起,学习了解BTree,B-Tree和B+Tree。【主题】B-Tree 介绍 B-Tree 特性搜索插入等 B+Tree 介绍 B*Tree转载 2012-05-04 20:14:26 · 892 阅读 · 1 评论 -
软件人员推荐书目(都是国外经典书籍!!!)
转载自 http://guozhiwei.iteye.com/blog/650367软件人员推荐书目(一) 大师篇 一、 科学哲学和管理哲学 【1】 "程序开发心理学"(The Psychology of Computer Programming : Silver Anniversary Edition) 【2】 "系统化思维导论"(An Introduction to Sys转载 2012-07-17 23:57:55 · 2321 阅读 · 1 评论 -
嵌入式开发常用的数据结构和算法
------------------------------------------------------------做嵌入式写下层代码如果不懂数据结构和算法可能就比较悲剧了。都是PDF格式的PPT,说白了就是一个简易的STL的设计原理外加一点扩充。版权:文档部分GFDL,代码部分LGPL。---------------------------------------------转载 2012-07-11 23:24:16 · 4850 阅读 · 2 评论 -
嵌入式中大量数据的管理
嵌入式应用开发中,也是有可能出现很多的数据要存储、加工、搜索。 但是又没有带数据库(因为资源的限制),其实数据库是个好东西,毕竟它可以做到与特定应用无关,而文件,基本是与特定应用相关的,明显的某些文件只有特定的应用软件才能识别。 如果没有数据库的话,就要将文件结构的设计提上日程了。文件结构的选择或设计不可能做到通用,它不想数据库,一般都是特定的应用采用特定的组织方式转载 2012-07-11 23:18:14 · 1127 阅读 · 0 评论 -
优先级队列(可用堆实现)
1,优先级队列是不同于先进先出队列的另一种队列。 最大优先级队列,是这样的一种队列结构,它的内部存放着一系列的元素,每个元素都对应着一个最优级, 最大优先级队列不管各元素的入队顺序,在出队时,总是对应优先级最大的元素出队。 2,优先队列是0个或多个元素的集合,每个元素都有一个优先权或值. 对优先队列执行的操作有1) 查找;2) 插入一个新元素;3) 删除. 在最小优先队列(转载 2012-05-14 18:55:39 · 1100 阅读 · 0 评论 -
Data structure
From Wikipedia, the free encyclopediaJump to: navigation,searcha hash tableIn computer science, a data structure is a particular way of storing and organizingdata in a comput转载 2012-05-15 00:27:35 · 1419 阅读 · 0 评论 -
队列、堆栈与数组、链表的关系与区分
首先,明确两个概念:数据结构与数据存储结构!数据结构:是指相互之间存在一种或多种特定关系的数据元素的集合。听起来是不是很抽象,简单理解:数据结构就是描述对象间逻辑关系的学科。比如:队列就是一种先进先出的逻辑结构,栈是一种先进后出的逻辑结构,家谱是一种树形的逻辑结构!(初学数据结构的时候很不理解为什么有“栈”这个东西;队列很容易理解---无论购物就餐都需要排队;栈可以认为就是个栈道---只允许一转载 2012-05-15 08:47:59 · 1112 阅读 · 1 评论 -
环形缓冲区
为了防止有人给咱扣上“过度设计”的大帽子,事先声明一下:只有当存储空间的分配/释放非常频繁 并且确实产生了明显 的影响,你才应该考虑环形缓冲区的使用。否则的话,还是老老实实用最基本、最简单的队列缓冲区 吧。还有一点需要说明一下:本文所提及的“存储空间 ”,不仅包括内存,还可能包括诸如硬盘之类的存储介质。 ★环形缓冲区 vs 队列缓冲区 ◇外部接口相似 在介绍环形缓冲区之前,咱们先转载 2012-05-14 18:33:36 · 1746 阅读 · 0 评论 -
环形缓冲区的实现原理(ring buffer)
在通信程序中,经常使用环形缓冲区作为数据结构来存放通信中发送和接收的数据。环形缓冲区是一个先进先出的循环缓冲区,可以向通信程序提供对缓冲区的互斥访问。1、环形缓冲区的实现原理环形缓冲区通常有一个读指针和一个写指针。读指针指向环形缓冲区中可读的数据,写指针指向环形缓冲区中可写的缓冲区。通过移动读指针和写指针就可以实现缓冲区的数据读取和写入。在通常情况下,环形缓冲区的读用户仅仅会影响读指针,而转载 2012-05-14 18:33:07 · 4520 阅读 · 0 评论 -
十大常用数据结构
一、栈: 1、后缀表达式的求值; 2、中缀到后缀表达式的转换; 3、深度优先搜索的非递归实现; 4、动态规划的优化:用于维护一个凸序列,便于二分查找,如LIS问题的O(nlgn)算法。 二、队列: 1、树的层序遍历; 2、广度优先搜索; 3、Bellman-Ford算法的SPFA实现; 4、网络流中FF算法的Edmonds-Karp实现,以及Preflo转载 2012-05-13 10:54:59 · 635 阅读 · 0 评论 -
分布式数据结构,分布式Hash表,分布式B树
作者: Chuanhui | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明本文链接地址: http://www.nosqlnotes.net/archives/134常用的数据结构包括:数组,队列,堆栈,链表,树(平衡二叉树,B树,Trie树,堆),哈希表,图,后缀数组,等等。其中,堆,图结构,Trie树及后缀数组解决特定问题,其它数据结构解决通用的查找,更新,删除操转载 2012-05-04 20:19:33 · 1863 阅读 · 0 评论 -
动态规划算法
动态规划是运筹学的一个分支,是求解决策过程最优化的数学方法,在解决实际问题中经常被使用。然而它本身或许不是很好理解,这里做一下本人对它的理解。动态规划三要素:阶段,状态,决策1、阶段是对整个过程的自然划分2、状态表示每个阶段开始时过程所处的自然状况3、当一个阶段的状态确定后,可以作出各种选择从而演变到下一阶段的某个状态,这种选择手段称为决策找出此类问题的关键:1、能够用转载 2012-05-04 20:31:18 · 620 阅读 · 0 评论 -
教你透彻了解红黑树
教你透彻了解红黑树 作者:July、saturnman 2010年12月29日本文参考:Google、算法导论、STL源码剖析、计算机程序设计艺术。本人声明:个人原创,转载请注明出处。推荐阅读:Left-Leaning Red-Black Trees,Dagstuhl Workshop on Data Structures, Wadern, Germany,转载 2012-05-04 20:36:44 · 2779 阅读 · 0 评论 -
Do We Teach the Right Algorithm Design Techniques ?
Do We Teach the Right Algorithm Design Techniques ? Anany Levitin Villanova University转载 2012-08-19 14:48:20 · 1094 阅读 · 0 评论