刻板印象是什么意思| 膝盖凉是什么原因| 小孩睡觉趴着睡是什么原因| 老年人手抖是什么原因| 总蛋白偏低是什么原因| 幽门螺旋杆菌什么意思| 1987年属什么的| 一什么水井| roa是什么胎位| 九点到十点是什么时辰| 肚子上长毛是什么原因| 心绪不宁的意思是什么| 肠结核是什么病| 腿抽筋是什么原因造成的| lfc是什么意思| pet一ct是一种什么检查| 吃什么可以偷偷流产| 头痛用什么药好| 白泽长什么样| 镜面人是什么意思| 出国旅游需要什么手续和证件| 什么样的草地| 孕妇肠胃炎能吃什么药| pp是什么意思| 梦见煮饺子是什么意思| 12月18是什么星座| 结肠炎不能吃什么食物| 梦见掉了一颗牙齿是什么征兆| 梦到前男友是什么意思| 元宵节有什么活动| 醪糟是什么东西| 飨宴是什么意思| 头发掉的多是什么原因| 北京是我国的什么中心| 木隶念什么| 风什么浪什么| 花生不能和什么食物一起吃| 脑死亡是什么意思| 粗鄙什么意思| 小孩咳嗽有痰吃什么药| 健脾益气是什么意思| 艾司唑仑片是什么药| 省内流量是什么意思| 黄瓜含有什么营养成分| 阴囊潮湿是什么原因造成的| 肝肾不足吃什么中成药| 脾虚吃什么水果| 芹菜和什么一起炒好吃| 鹦鹉鱼吃什么| 酒花浸膏是什么| 吐露是什么意思| 血压高可以吃什么水果| 虾吃什么| 生活是什么意思| 樟脑丸是什么| 6月20日什么星座| 脑梗是什么原因造成的| blanc什么意思| r13是什么牌子| 有什么别有病| 梦见抽血是什么预兆| 觉是什么结构| 缺氯有什么症状怎么补| 拉肚子不能吃什么食物| fm什么意思| 糖尿病吃什么食物| 人活着是为了什么| 正负得什么| 劝酒什么意思| 胡萝卜什么时候成熟| 鸡宝是什么| 调节肠道菌群吃什么药| 小腿痛是什么原因| 注意地看的词语是什么| 龙的九个儿子都叫什么名字| 急躁是什么意思| 亚瑟士和鬼冢虎的区别是什么| 低烧吃什么药最好| 什么是火碱| 结婚六十年是什么婚| 备孕需要补充什么| 滴虫性阴炎有什么症状表现| 一什么而什么的成语| 恃势之刑是什么意思| 东吴在现在什么地方| 上校军衔是什么级别| 我会送你红色玫瑰是什么歌| 兰花是什么季节开的| 下缘达宫颈内口是什么意思| 老年痴呆症是什么原因引起的| 至是什么意思| 意念是什么| 多囊卵巢是什么原因造成的| 蛋白尿是什么样子| 夏天吹空调感冒吃什么药| 血稠吃什么药好| 海兔是什么| 为什么胸部会胀痛| 康复治疗技术学什么| 提拉米苏是什么东西| 吃什么会死| 当我谈跑步时我谈些什么| 小孩下面痒用什么药| 医院的特需门诊是什么意思| 圣罗兰属于什么档次| 老虎头衣服是什么牌子| 宫内感染有什么症状| 一个人是什么歌| 变蛋吃多了有什么好处和坏处| 坊字五行属什么| 心电轴重度左偏是什么意思| hpv是什么病毒| ro是什么意思| 国际是什么意思| 什么和什么不能一起吃| pink是什么颜色| 米粉是用什么做出来的| 身上长痣是什么原因| 什么的红枣| 阴囊潮湿吃什么药| 化骨龙是什么意思| 言字旁与什么有关| tcl什么牌子| 胃不好吃什么养胃| 晕血是什么原因| 乳晕是什么意思| 榆钱是什么| 中性粒细胞低是什么原因| 什么叫实性结节| 南辕北辙什么意思| 里是什么结构| aids是什么病的简称| 1933年属什么| 相交是什么意思| 二氧化碳分压高说明什么| special是什么意思| kumpoo是什么牌子| 水平是什么意思| 心脏早博吃什么药好| 什么都没有| 滇红属于什么茶| mr是什么的缩写| 梦见吃雪糕是什么意思| 盗汗是什么| 精髓是什么意思| 落枕吃什么药好得快| 吃什么东西可以补血| 怀孕后期脚肿是什么原因| 肝占位病变是什么意思| 胃胀胃痛吃什么药| 汗毛长是什么原因| 经常咬手指甲是什么原因| 茯苓和土茯苓有什么区别| 1024是什么星座| 什么星空| 脸上黑色的小点是什么| 脚踝韧带拉伤吃什么| 夜尿多吃什么药效果好| 大蒜味是什么中毒| 211属于什么大学| 有机食品什么意思| 玄学是什么意思| 人生三件大事是指什么| 送羊是什么意思| 牛欢喜是什么| 南京五行属什么| 为什么人会打喷嚏| 乳腺癌多发于什么年龄| 茜是什么意思| 乐果农药适合杀什么虫| 什么叫做绝对值| 肌肉损伤吃什么药| 先兆性流产是什么意思| 什么时间入伏| 旧衣服属于什么垃圾| 飞蚊症滴什么眼药水| 右边脸疼是什么原因| 头疼是什么原因引起的| 婊子是什么生肖| 三点水加分念什么| 题词是什么意思| 风花雪月是什么意思| laurel是什么牌子| 带教是什么意思| 便秘屁多是什么原因| 女性下面水少是什么原因| 陌上是什么意思| 手肿脚肿是什么原因引起的| 乳腺结节不能吃什么食物| 梦见胡萝卜是什么意思| 什么是刑事拘留| 伤口愈合慢是什么原因| 以备不时之需什么意思| 天乙是什么意思| 闭经有什么症状| 小便浑浊是什么原因| 2月2号什么星座| 断念是什么意思| 不知餍足什么意思| 什么是c字裤| 足金什么意思| 酒石酸美托洛尔片治什么病| 小猫什么时候驱虫| 老年斑用什么药膏可以去掉| 各位同仁用在什么场合| 苹果不能和什么一起吃| 冬至为什么吃水饺| 1992年属猴的是什么命| 老人嗜睡是什么征兆| 积德是什么意思| 铅中毒什么症状| 为宜是什么意思| 字母圈是什么意思| 1.11是什么星座| 为什么会肚子疼| dmd是什么意思| 上吐下泻吃什么食物好| 尿血是什么病| 纳差什么意思| 上山下乡是什么意思| 什么是成熟| 黄水病是什么病| 松鼠尾巴有什么作用| 心脏早搏吃什么药效果好| dunk是什么牌子| 咸鸭蛋为什么会出油| 感染hpv有什么症状| 出家当尼姑需要什么条件| 眼睛模糊用什么药好| pr医学上什么意思| 一什么冰箱| 贝加台念什么| 心脏有个小洞叫什么病| 肺结核钙化是什么意思| 命里缺什么怎么看| 天空为什么是蓝色| 少阳病是什么意思| 痘痘挤出来的白色东西是什么| 黄历冲生肖是什么意思| 京酱肉丝是什么菜系| 绸缪是什么意思| 是什么数学符号| 女生为什么会肾虚| 西瓜红是什么颜色| 熟石灰是什么| 或字多两撇是什么字| 勃起是什么意思| 传教士是什么意思| 卵泡排出来是什么样的| 什么游戏最赚钱| 肺气不足吃什么中成药| 寿司醋可以用什么代替| 这是什么电影| 杳什么意思| 反应性细胞改变是什么意思| 吃维生素b2有什么好处| 爬高上低是什么意思| 逆天改命是什么意思| 打嗝吃什么药| 高笋和茭白有什么区别| 丝状疣用什么药| 上感是什么意思| 月经来了吃什么水果好| 美瞳是什么| 百度

城市牛皮癣侵袭共享单车 “移动”小广告该如何治理?

This is the current revision of this page, as edited by Bkonrad (talk | contribs) at 15:49, 31 July 2025 (does not redirect here). The present address (URL) is a permanent link to this version.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
百度 建立物业管理诚信管理机制。

In computer science, a data structure is a data organization and storage format that is usually chosen for efficient access to data.[1][2][3] More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data,[4] i.e., it is an algebraic structure about data.

A data structure known as a hash table.

Usage

edit

Data structures serve as the basis for abstract data types (ADT). The ADT defines the logical form of the data type. The data structure implements the physical form of the data type.[5]

Different types of data structures are suited to different kinds of applications, and some are highly specialized to specific tasks. For example, relational databases commonly use B-tree indexes for data retrieval,[6] while compiler implementations usually use hash tables to look up identifiers.[7]

Data structures provide a means to manage large amounts of data efficiently for uses such as large databases and internet indexing services. Usually, efficient data structures are key to designing efficient algorithms. Some formal design methods and programming languages emphasize data structures, rather than algorithms, as the key organizing factor in software design. Data structures can be used to organize the storage and retrieval of information stored in both main memory and secondary memory.[8]

Implementation

edit

Data structures can be implemented using a variety of programming languages and techniques, but they all share the common goal of efficiently organizing and storing data.[9] Data structures are generally based on the ability of a computer to fetch and store data at any place in its memory, specified by a pointer—a bit string, representing a memory address, that can be itself stored in memory and manipulated by the program. Thus, the array and record data structures are based on computing the addresses of data items with arithmetic operations, while the linked data structures are based on storing addresses of data items within the structure itself. This approach to data structuring has profound implications for the efficiency and scalability of algorithms. For instance, the contiguous memory allocation in arrays facilitates rapid access and modification operations, leading to optimized performance in sequential data processing scenarios.[10]

The implementation of a data structure usually requires writing a set of procedures that create and manipulate instances of that structure. The efficiency of a data structure cannot be analyzed separately from those operations. This observation motivates the theoretical concept of an abstract data type, a data structure that is defined indirectly by the operations that may be performed on it, and the mathematical properties of those operations (including their space and time cost).[11]

Examples

edit
 
The standard type hierarchy of the programming language Python 3.

There are numerous types of data structures, generally built upon simpler primitive data types. Well known examples are:[12]

  • An array is a number of elements in a specific order, typically all of the same type (depending on the language, individual elements may either all be forced to be the same type, or may be of almost any type). Elements are accessed using an integer index to specify which element is required. Typical implementations allocate contiguous memory words for the elements of arrays (but this is not always a necessity). Arrays may be fixed-length or resizable.
  • A linked list (also just called list) is a linear collection of data elements of any type, called nodes, where each node has itself a value, and points to the next node in the linked list. The principal advantage of a linked list over an array is that values can always be efficiently inserted and removed without relocating the rest of the list. Certain other operations, such as random access to a certain element, are however slower on lists than on arrays.
  • A record (also called tuple or struct) is an aggregate data structure. A record is a value that contains other values, typically in fixed number and sequence and typically indexed by names. The elements of records are usually called fields or members. In the context of object-oriented programming, records are known as plain old data structures to distinguish them from objects.[13]
  • Hash tables, also known as hash maps, are data structures that provide fast retrieval of values based on keys. They use a hashing function to map keys to indexes in an array, allowing for constant-time access in the average case. Hash tables are commonly used in dictionaries, caches, and database indexing. However, hash collisions can occur, which can impact their performance. Techniques like chaining and open addressing are employed to handle collisions.
  • Graphs are collections of nodes connected by edges, representing relationships between entities. Graphs can be used to model social networks, computer networks, and transportation networks, among other things. They consist of vertices (nodes) and edges (connections between nodes). Graphs can be directed or undirected, and they can have cycles or be acyclic. Graph traversal algorithms include breadth-first search and depth-first search.
  • Stacks and queues are abstract data types that can be implemented using arrays or linked lists. A stack has two primary operations: push (adds an element to the top of the stack) and pop (removes the topmost element from the stack), that follow the Last In, First Out (LIFO) principle. Queues have two main operations: enqueue (adds an element to the rear of the queue) and dequeue (removes an element from the front of the queue) that follow the First In, First Out (FIFO) principle.
  • Trees represent a hierarchical organization of elements. A tree consists of nodes connected by edges, with one node being the root and all other nodes forming subtrees. Trees are widely used in various algorithms and data storage scenarios. Binary trees (particularly heaps), AVL trees, and B-trees are some popular types of trees. They enable efficient and optimal searching, sorting, and hierarchical representation of data.

A trie, or prefix tree, is a special type of tree used to efficiently retrieve strings. In a trie, each node represents a character of a string, and the edges between nodes represent the characters that connect them. This structure is especially useful for tasks like autocomplete, spell-checking, and creating dictionaries. Tries allow for quick searches and operations based on string prefixes.

Language support

edit

Most assembly languages and some low-level languages, such as BCPL (Basic Combined Programming Language), lack built-in support for data structures. On the other hand, many high-level programming languages and some higher-level assembly languages, such as MASM, have special syntax or other built-in support for certain data structures, such as records and arrays. For example, the C (a direct descendant of BCPL) and Pascal languages support structs and records, respectively, in addition to vectors (one-dimensional arrays) and multi-dimensional arrays.[14][15]

Most programming languages feature some sort of library mechanism that allows data structure implementations to be reused by different programs. Modern languages usually come with standard libraries that implement the most common data structures. Examples are the C++ Standard Template Library, the Java Collections Framework, and the Microsoft .NET Framework.

Modern languages also generally support modular programming, the separation between the interface of a library module and its implementation. Some provide opaque data types that allow clients to hide implementation details. Object-oriented programming languages, such as C++, Java, and Smalltalk, typically use classes for this purpose.

Many known data structures have concurrent versions which allow multiple computing threads to access a single concrete instance of a data structure simultaneously.[16]

See also

edit

References

edit
  1. ^ Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2009). Introduction to Algorithms, Third Edition (3rd ed.). The MIT Press. ISBN 978-0262033848.
  2. ^ Black, Paul E. (15 December 2004). "data structure". In Pieterse, Vreda; Black, Paul E. (eds.). Dictionary of Algorithms and Data Structures [online]. National Institute of Standards and Technology. Retrieved 2025-08-06.
  3. ^ "Data structure". Encyclopaedia Britannica. 17 April 2017. Retrieved 2025-08-06.
  4. ^ Wegner, Peter; Reilly, Edwin D. (2025-08-06). Encyclopedia of Computer Science. Chichester, UK: John Wiley and Sons. pp. 507–512. ISBN 978-0470864128.
  5. ^ "Abstract Data Types". Virginia Tech - CS3 Data Structures & Algorithms. Archived from the original on 2025-08-06. Retrieved 2025-08-06.
  6. ^ Gavin Powell (2006). "Chapter 8: Building Fast-Performing Database Models". Beginning Database Design. Wrox Publishing. ISBN 978-0-7645-7490-0. Archived from the original on 2025-08-06.
  7. ^ "1.5 Applications of a Hash Table". University of Regina - CS210 Lab: Hash Table. Archived from the original on 2025-08-06. Retrieved 2025-08-06.
  8. ^ "When data is too big to fit into the main memory". Indiana University Bloomington - Data Structures (C343/A594). 2014. Archived from the original on 2025-08-06.
  9. ^ Vaishnavi, Gunjal; Shraddha, Gavane; Yogeshwari, Joshi (2025-08-06). "Survey Paper on Fine-Grained Facial Expression Recognition using Machine Learning" (PDF). International Journal of Computer Applications. 183 (11): 47–49. doi:10.5120/ijca2021921427.
  10. ^ Nievergelt, Jürg; Widmayer, Peter (2025-08-06), Sack, J. -R.; Urrutia, J. (eds.), "Chapter 17 - Spatial Data Structures: Concepts and Design Choices", Handbook of Computational Geometry, Amsterdam: North-Holland, pp. 725–764, ISBN 978-0-444-82537-7, retrieved 2025-08-06
  11. ^ Dubey, R. C. (2014). Advanced biotechnology : For B Sc and M Sc students of biotechnology and other biological sciences. New Delhi: S Chand. ISBN 978-81-219-4290-4. OCLC 883695533.
  12. ^ Seymour, Lipschutz (2014). Data structures (Revised first ed.). New Delhi, India: McGraw Hill Education. ISBN 9781259029967. OCLC 927793728.
  13. ^ Walter E. Brown (September 29, 1999). "C++ Language Note: POD Types". Fermi National Accelerator Laboratory. Archived from the original on 2025-08-06. Retrieved 6 December 2016.
  14. ^ "The GNU C Manual". Free Software Foundation. Retrieved 2025-08-06.
  15. ^ Van Canneyt, Micha?l (September 2017). "Free Pascal: Reference Guide". Free Pascal.
  16. ^ Mark Moir and Nir Shavit. "Concurrent Data Structures" (PDF). cs.tau.ac.il. Archived from the original (PDF) on 2025-08-06.

Bibliography

edit

Further reading

edit
edit
手皮脱皮是什么原因 出阁是什么意思 极有家是什么意思 天兵神将是什么动物 为什么老是咳嗽
大便一粒一粒的是什么原因 茶油是什么油 做尿常规挂什么科 牛肉炒什么菜 体重什么时候称最准确
试金石什么意思 眼睛总是干涩是什么原因 头晕是为什么 凤凰单丛属于什么茶 peter是什么意思
喝蜂蜜水不能吃什么 痃癖是什么病 指甲白色是什么原因 1999年是什么命 脚发痒是什么原因
白色属于五行属什么hcv8jop9ns5r.cn 鳄梨是什么水果hcv7jop5ns0r.cn 优质是什么意思hcv8jop2ns7r.cn 上单是什么意思96micro.com lh是什么意思hcv9jop1ns0r.cn
07属什么生肖hcv9jop3ns8r.cn 妯娌什么意思aiwuzhiyu.com 尿酸高平时要注意什么1949doufunao.com 独活主治什么病hcv9jop3ns1r.cn 金牛男喜欢什么样的女生hcv7jop6ns4r.cn
火龙果什么人不能吃hcv7jop9ns7r.cn 水瓶男和什么星座最配hcv8jop9ns9r.cn 脂溢性脱发吃什么药hcv8jop5ns4r.cn 女性风湿吃什么东西好ff14chat.com 乳头为什么会痒hcv8jop9ns4r.cn
胃酸烧心吃什么药hcv9jop6ns7r.cn 银杯子喝水有什么好处与坏处hcv9jop6ns9r.cn 剑桥英语和新概念英语有什么区别hcv7jop5ns3r.cn 喝什么茶减肥hcv9jop3ns6r.cn 垂是什么意思hcv8jop9ns7r.cn
百度