关联数组(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 ...
最新文章
- 谈谈被大家过于在乎的性能
- DFTug - Getting Started(上篇)
- 定时器精度问题及影响
- 第二章 使用unittest模块扩展功能测试
- 【PAT甲级 - 1028】List Sorting (25分)(模拟,排序)
- 数据库工作笔记013---如果存在表则删除表然后创建Mysql_drop table
- LeetCode84 Largest Rectangle in Histogram
- php20行代码写小偷程序,PHP100教你20行代码写小偷程序
- python为什么是蛇的天敌_青蛙和蛇一直是天敌,只知道蛇会吃青蛙,你知不知道青蛙也吃蛇...
- 公有云时代企业需要什么样的云平台
- hadoop培训笔记
- GNSS观测方程及线性组合
- 机器学习算法之聚类算法拓展:Mini Batch K-Means算法
- FP、FCP、FMP、LCP都是什么P?
- Discuz!教程之帖子摘要(简介)截取函数messagecutstr()详解
- Android权限——中英文对照表
- 会声会影2022中文版主要功能讲解64位安装下载
- iOS开发之Runtime常用示例总结
- mysql批量替换字段关键词_Mysql批量替换某表里面某个字段的关键字
- 基于ZYNQ-7000的AI加速器设计之GP接口的实现