关联数组(associative array)
关联数组(associative array )是一种常用的抽象数据类型。它有很多别名,例如associative container , map , mapping , dictionary , finite map , table,index 等。它的特点是由一个关键字和其他各种属性组成的集合。典型的操作包括插入,删除和查找等。而用于描述关联数组最常用的是哈希表 (hash table )和自平衡二叉搜索树(self-balanced binary search tree )(包括红黑树 (red-black tree )和avl树 (avl tree ),有时可能使用B-tree (适用于关联数组太大的情况,比如数据库等))。哈希表和自平衡二叉搜索树的性能对比如下:平均情况下哈希表的查找和插入操作的复杂度为O(1),而自平 衡二叉搜索树的查找和插入操作的复杂度为O(log(n))。而最坏情况下平衡二叉搜索树的查找和插入操作的复杂度仍为O(log(n)),而哈希表的查 找和插入操作的复杂度可能达到O(n)。
相关链接直接参考维基百科中内容即可,另有一篇中文的文章也不错,链接:
红黑树的介绍和实现
由于c语言标准库中缺乏对各种抽象数据类型的支持,c语言下对各种抽象数据类型的操作比较麻烦,从网上找了一些C语言的数据结构库,感兴趣的可以看看:
GDSL
GNUlib
sglib
attractive chaos 's klib
c-geniric-library
cbase
libwayne
uthash (hash table)
ccan
关联数组(associative array)相关推荐
- 将PHP对象转换为关联数组
我正在将API集成到我的网站,该网站可以使用数组编写代码时处理存储在对象中的数据. 我想要一个快捷方式将对象转换为数组的函数. #1楼 当您从数据库中获取数据作为对象时,您可能想要这样做: // Su ...
- php中的关联数组,PHP中的多种关联数组
考虑以下关联数组 $arr = Array ( [banana] => 2 [cherry] => 1 [orange] => 3 [grapefruit] => 1 [app ...
- php遍历关联数组详解,php遍历关联数组
php 动态关联数组,PHP 反射API,php遍历关联数组,php关联数组的输出 PHP数组详解_计算机软件及应用_IT/计算机_专业资料.PHP数组语法及其应用详细讲解,深入的探讨了数组的用法,以 ...
- 【Oracle】record varray (associative array 关联数组) table (nested table type 嵌套表类型)和%type、%rowtype的使用详解
官方文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/lnpls/plsql-data-types.html#GU ...
- php array 关联数组,php array_merge关联数组
我正在尝试将一个项目添加到关联数组的开头.我认为最好的方式是使用array_merge,但我有一些奇怪的后果.我从mysql数据库获取产品的id和Name,并将它作为关联数组返回,就像这样(不是实际的 ...
- php array 关联数组,php关联数组的输出
php 动态关联数组,PHP 反射API,php遍历关联数组,php关联数组的输出 php数组学习数组索引数组关联数组_互联网_IT/计算机_专业资料.php数组 php array php索引数组 ...
- 打开高效文本编辑之门_Linux awk之关联数组
Linux awk之关联数组使用案例 声明与简介 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具.awk通常用来处理结构化(固定格式)的文本文件, awk每接收文件的一行,然后执行相应的命 ...
- 《编程珠玑(续)(修订版)》—第2章2.1节Awk中的关联数组
本节书摘来自异步社区<编程珠玑(续)(修订版)>一书中的第2章,第2.1节Awk中的关联数组,作者[美]Jon Bentley,更多章节内容可以访问云栖社区"异步社区" ...
- 如何检查PHP数组是关联数组还是顺序数组?
PHP将所有数组视为关联数组,因此没有任何内置函数. 谁能推荐一种相当有效的方法来检查数组是否仅包含数字键? 基本上,我希望能够区分以下两者: $sequentialArray = array('ap ...
最新文章
- 如何在游标里控制条件_热处理精密渗碳里的碳势如何控制
- undb php,显示html过滤报错,我不知道如何修改了。
- ORACLE的ASM
- BPI:bit for Webduino WEB:Bit 教育版平台正式发布,支持离线安装使用
- 2017前端面试题之综合篇(1)
- Python入门100题 | 第062题
- 如何安装php网站,如何安装部署PHP网站
- JavaScript内存泄漏知多少?
- .Net Core创建Docker镜像
- 如何将JAR添加到Jetbrains MPS项目
- 一个开发10年程序员论:零基础学习Python最正确的步骤
- C语言编写九九乘法表
- 免费下载知网论文的重要链接
- 互联网晚报 | 10月21日 星期四 | 微信支付上线品牌视频号;快手短剧日活用户达2.3亿;《长津湖》票房升至中国影史第三...
- 5个最佳免费Linux杀毒软件
- 第二章 马尔可夫决策过程及表格型方法
- Android 手机拨号
- PPT制作3D绘图(1)
- 湖北省制造业高质量发展专项奖励申报条件,2022年揭榜挂帅项目指南
- 100% width CSS 在 iPad / iPhone Safari 背景被截断 / 显示不全