`

关联数组(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

分享到:
评论

相关推荐

    php通过array_merge()函数合并关联和非关联数组的方法

    关联数组(associative array)是一种使用字符串或其他类型的值作为键的数组。与之相对的是索引数组(indexed array),其键是数字索引。在PHP中,数组的键通常是数字索引,但也可以是非数字的字符串索引,这样的...

    基于php数组中的索引数组和关联数组详解

    数组分为两种主要类型:索引数组和关联数组。 **索引数组** 是一种以数字作为键的数组,这些键通常是连续的整数,并且自增。在PHP中,索引数组的默认起始键值是0,每次增加一个元素,键值自动递增1。例如: ```php...

    数组_php数组_

    - PHP支持两种类型的数组:索引数组(Indexed Arrays)和关联数组(Associative Arrays)。索引数组是通过数字索引来访问元素,而关联数组则是通过字符串键来访问元素。 - 数组中的每个元素由一个键(key)和一个...

    systemVerilog的联合数组例子

    SystemVerilog提供了多种数据类型,其中联合数组(Associative Array)是一种灵活且强大的数据结构。下面我们将通过一个实际例子,讲解SystemVerilog中的联合数组的使用和实现。 什么是联合数组? 联合数组是一种...

    associative-array

    关联数组 Map和Array的组合可保持键的顺序。 用法 var AssociativeArray = require ( 'associative-array' ) ; var arr = new AssociativeArray ( ) ; arr . push ( 'key' , { value : 'value' } ) ; arr . push ( '...

    wb.zip_visual c

    这个压缩包的核心是WB,一个基于磁盘的排序关联数组(associative array)工具包。关联数组是一种数据结构,允许我们用键(key)来查找和操作值(value),类似于字典类型的数据结构在许多编程语言中的实现。 在C...

    Oracle数组的使用

    这里主要涉及了两种类型的数组:`VARRAY` 和 `ASSOCIATIVE ARRAY`(也称为 `INDEXED TABLE`)。接下来,我们将详细解释这些概念,并提供一些实际应用场景。 ### Oracle 数组类型 #### VARRAY (Variable Array) `...

    SV_FW_pro_random_costniy_systemverilog_in_

    在SystemVerilog中,关联数组(Associative Arrays)是一种非常强大的数据结构,它允许通过非整型键(如字符串)来访问数组元素。标题“SV_FW_pro_random_costniy_systemverilog_in_”可能指的是一个关于如何在...

    php使用gettimeofday函数返回当前时间并存放在关联数组里

    echo "As an associative array:\n"; foreach ($Now as $Key => $Value) { echo "$Key => $Value\n"; } ?> ``` 运行这段代码,将会输出类似这样的结果: ``` sec => 1261918156 usec => 724964 minuteswest => 0 ...

    pl_sql中的集合

    集合主要包括数组(Arrays)和关联数组(Associative Arrays),其中数组又细分为索引数组(Indexed Tables)和可变数组(VARRAYs)。本文将深入探讨PL/SQL中的集合概念、类型以及它们在编程中的应用。 ### 索引...

    PHP JSON格式数据交互实例代码详解

     “名称/值”对的集合,在PHP中可以理解为关联数组 (associative array)。  值的有序列表(An ordered list of values)。在PHP中可以理解为普通数组(array)。  对象是一个无序的“‘名称/值’对”集合。一个...

    Sorting Array Values in PHP(数组排序)

    首先,我们有几种类型的数组:索引数组(Scalar array)和关联数组(Associative array)。索引数组是由数字作为键的数组,而关联数组则是使用字符串作为键的数组。 对于关联数组,当你需要根据值而不是键进行排序...

    PHP 根据数组值取得键值.rar

    对于关联数组,`array_search()`同样适用,但要注意它会忽略键的类型。如果数组中存在相同值但键不同的情况,`array_search()`可能无法返回预期的键。 此外,还有另一种方法,即遍历数组并检查每个元素的值。这可以...

    PHP数组遍历方法小结

    - **关联数组**(Associative Array):由字符串索引组成的数组。 - **多维数组**(Multidimensional Array):数组的元素也是数组。 **遍历**:访问数组中的每个元素的过程。 #### 二、索引数组遍历 **1. 使用 `...

    ASP Associative Array Class-开源

    一个 ASP 类,可以像在 PHP 中一样创建简单的关联数组; 您可以以编程方式管理任何结构化数据; 该类还提供了从 MySQL 或 MSAccess 数据库加载数据或将关联数组导出到 XML 的方法。

    PHP数组的总结(很全面的哦!)

    数组可以分为两种类型:索引数组(Indexed Array)和关联数组(Associative Array)。索引数组是最基本的形式,其键名默认为非负整数且按顺序排列;关联数组则使用字符串作为键名。 #### 二、创建与初始化数组 在...

    jsonchecker

    不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 * 值的有序列表(An ...

    Associative array Delphi class-开源

    关联数组是一种数据结构,它允许我们通过键(key)来访问和操作元素,类似于字典或映射在其他编程语言中的概念。在这个特定的开源项目中,Delphi类`TAleArray`实现了关联数组的功能,提供了高效且灵活的键值对操作。...

Global site tag (gtag.js) - Google Analytics