一些鲜为人知却非常实用的数据结构 - Haippy
原文:http://www.udpwork.com/item/9932.html
作为程序猿(媛),你必须熟知一些常见的数据结构,比如栈、队列、字符串、链表、二叉树、哈希,但是除了这些常见的数据结构以外,还有没有其他不是很有名,但却非常实用的数据结构呢,有人在stackoverflow上问了这样一个问题,得到了很多热心观众的回答,我们今天就来看看那些鲜为人知却非常实用的数据结构吧。
首先,维基百科上的一个页面列举了常见的数据结构,你可以先去那个页面看看。下面我们就来看看一些不是很常见的数据结构吧:
- Tries(前缀树)
- Bloom filter(布隆过滤器)
- Rope: 主要用于某些文本编辑器中,可用于字符串高效地插入、删除、追加等操作。SGI 的 STL 中实现了 Rope(http://www.sgi.com/tech/stl/Rope.html)
- Skiplist(跳表)
- Spatial Indices(空间索引),如R-trees和KD-trees
- Splay trees(伸展树)
- Disjoint Set(并查集)
- Fibonacci heaps(斐波那切堆)
- Huffman trees(哈夫曼树)
- ring buffer(又名circular buffer)
- Merkle trees(哈希树)
- min-max heap
- bitset(又称bit array, 位数组)
- Xor linked list
- AA tree
- Log-structured merge-tree
- Radix tree
- Judy array
转载于:https://www.cnblogs.com/shanguanghui/p/3662113.html
一些鲜为人知却非常实用的数据结构 - Haippy相关推荐
- iphone计算机输入文字,10个鲜为人知的iPhone实用技巧 全知道的算我输!
原标题:10个鲜为人知的iPhone实用技巧 全知道的算我输! 点评:想玩转iPhone前,你需要知道这些隐藏的神技能. 今天小编要分享的这10个超实用的iPhone技巧,我敢说全知道的人,绝对不超过 ...
- 鲜为人知而又实用的 Linux 命令大全
鲜为人知而又实用的 Linux 命令大全 Linux命令行吸引了大多数Linux爱好者.一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务.Linux命令和它们的转换对于Linux用 ...
- debian查看ip地址命令_鲜为人知而又实用的 Linux 命令大全
点击"Cisco思科CCIE俱乐部"→点击右上角"..."→"设为星标" 资讯丨干货丨入群 联系小E微信:SPOTO123456 Li ...
- python map用法_Python中ChainMap的一种实用用法
Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 简而言之ChainMap:将多个字典视为一个,解锁Python超能力. Python标准库中的集合模块包含 ...
- 从这个11.11开始,终结数据结构与算法的噩梦
双十一电商大战一触即发,各大平台都在进行降价促销活动,0点后又有不少人要买买买了,薅羊毛之余,别忘了极客时间双十一也有一波优惠活动,很多专栏都在限时降价. DD要给大家推荐的这个专栏也是其中之一--& ...
- 数据结构之堆Heap
1. 概述 堆(也叫优先队列),是一棵完全二叉树,它的特点是父节点的值大于(小于)两个子节点的值(分别称为大顶堆和小顶堆).它常用于管理算法执行过程中的信息,应用场景包括堆排序,优先队列等. 2. 堆 ...
- python需要学数据结构吗_Python新手学习基础之数据结构-对数据结构的认知
什么是数据结构? 数据结构是指:相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成. 举个列子来理解这个数据结构: 数据可以比作是书本, 数据结构相当于书架,书存放在书架上, ...
- python删除链表满足pred的元素_python 数据结构一 之 线性表
python数据结构教程第一课 从这里将会正式开始讲解python的一些实用的数据结构,原理加上实例源码. 一.简介 二.线性表的抽象数据类型 三.顺序表的实现 四.链接表的实现 1.单链表 2.带尾 ...
- eclipse索引4超出范围_Python内置的4个重要基本数据结构:列表、元组、字典和集合
本章内容提要: 列表及操作 元组及操作 字典及操作 集合简介 第2章介绍了数字(整数.浮点数).逻辑值和字符串等Python内置的基本数据类型.在实际的操作中,仅仅依赖它们很难高效地完成复杂的数据处理 ...
最新文章
- 10000+ gif表情包不是梦,get这一篇文就够了!!!小哥哥快到碗里来,再也不怕斗图没有表情包了
- Pycharm报错合集:在pycharm运行anaconda配置的Pytorch环境报错(Environment location diretory is not empty )
- Docker Machine 简介
- win10安装oracle 11g最新亲身经历操作记录
- 【转】React Vue MVC MVVM MVP
- 重磅!浙大博士两破世界纪录,三年两获浙大竺可桢奖学金!
- java html2text_java-如何在html / text内容中获取文本?
- 计算机游戏有哪几种,这些游戏你玩过几个? 你认为最经典的电脑游戏有哪些?
- mysql引擎innodb与ndb比较_mysql存储引擎InnoDB 1.1、NDB 7.5对比
- php 简繁体字同时显示_(C++/php/Swift/Go/Ruby 篇)2020 年最火编程语言出炉!关键特性、普及程度、薪资全方位解读...
- VRTK summary
- 用JPEXS软件实现swf反编译-逆向调试方法
- 用indy收邮件的问题,怎么样把邮件存放到本地,最好是存到数据库
- 明道云实现产品BOM清单的快速搭建
- 激光导航agv常见的三大应用场景是什么?
- 淘宝关于用户行为的数据分析
- 数字孪生--thingjs
- 安装semantic segmentation editor
- linux下编译ts工程,linux下搭建生成HLS所需的.ts和.m3u8文件
- 【学习笔记】kaggle案例之泰坦尼克号(基于R)