为什么端午节要吃粽子| 一个丝一个鸟读什么| 收孕妇尿是干什么用的| 全套是什么意思| 老白茶属于什么茶| 正常人为什么传导阻滞| 广西有什么市| romantic是什么意思| 淋菌性尿道炎吃什么药| 知进退明得失什么意思| 快递已揽件是什么意思| mlb是什么品牌| 泥淖是什么意思| 蜡笔小新的爸爸叫什么| 三月24号是什么星座的| 黄金为什么这么贵| 竹勿念什么| 心电轴不偏是什么意思| 彩排是什么意思| 一般细菌培养及鉴定是检查什么| 重睑术是什么意思| 黑龙江有什么特产| 氨水是什么| 水是由什么组成的| 高压偏低有什么危害| 6月16什么星座| 上飞机不能带什么| alt是什么| 破伤风感染后会出现什么症状| 抑郁症吃什么食物好| 猴魁属于什么茶| 又什么又什么的草地| 高血脂挂什么科| 晶莹的近义词是什么| 血管瘤长什么样子图片| 1996年是属什么生肖| 咽喉痒干咳吃什么药| 8月3日是什么日子| 血小板低吃什么好| 风风火火是什么生肖| 松茸有什么功效| 什么叫自私的人| 牛肉和什么蔬菜搭配好| 梦见煮饺子是什么意思| 胡麻是什么| 猴戏是什么意思| 是什么字| 单飞是什么意思| 潮吹是什么样的| 眼色是什么意思| 黄喉是牛的什么部位| 乳房疼痛什么原因| 鸭屎香为什么叫鸭屎香| 负离子什么意思| 为什么会长鸡眼| 用什么泡脚可以去湿气| 儿童身高矮小挂什么科| 子宫癌筛查做什么检查| eb病毒是什么意思| 为什么会得手足口病| 籽骨出现意味着什么| 大拇指戴戒指是什么意思| 恐龙吃什么| 为什么嘴巴会臭| 做喉镜能检查出什么病| 看对眼是什么意思| 一夫一妻制产生于什么时期| rush是什么| 什么是烂桃花| 副乳挂什么科| 神经根型颈椎病吃什么药| 脚脖子疼是什么原因| 国窖1573是什么香型| 农历七月初七俗称什么| 玹字五行属什么| 什么叫中出| 味淋可以用什么代替| nt什么时候做| 为什么会得面瘫| 汗青是什么意思| a1微球蛋白偏高说明什么意思| 珑字五行属什么| 氯化钙是什么| 伪娘什么意思| 四百分能上什么大学| 肠胃炎应该注意什么| 易栓症是什么病| 为什么会得人乳头瘤病毒| 除湿气吃什么好| 用淘米水洗脸有什么好处| 溺水是什么意思| 全身瘙痒要警惕什么病| 什么东西比乌鸦更讨厌| 中药先煎是什么意思| 肛门坠胀用什么药| 什么人不能吃绿豆| 湿气重吃什么能去湿气| 诸位是什么意思| 血糖高吃什么降血糖| MS医学上是什么意思| 什么食物热量低| 宫颈癌是什么| 男龙和什么生肖最配| 有品味什么意思| 水过鸭背是什么意思| 三个子念什么| LOP是什么胎位| 猫藓用什么药| 胃胀胃不舒服吃什么药| 炎症是什么| 素面朝天什么生肖| 疱疹吃什么药可以根治| 男生爱出汗是什么原因| 什么飞船| 空调什么时候发明的| 6月13日是什么日子| 真菌是什么原因引起的| 3月份生日是什么星座| 十羊九不全是什么意思| 里正相当于现在什么官| gp什么意思| 口腔溃疡可以吃什么| 惊蛰是什么意思| 长痱子是什么原因| 主动脉夹层a型是什么病| 1990年的马是什么命| 肉苁蓉与什么搭配好| 荣字五行属什么| 红棕色是什么颜色| 来龙去脉指什么生肖| 用字五行属什么| 前列腺炎是什么症状| 十一月份什么星座| 孕妇缺铁吃什么食物好| 黄豆可以和什么一起打豆浆| 下面流出发黄的液体是什么原因| 美帝是什么意思| 护手霜什么牌子的效果好| 肝右叶钙化灶什么意思| 风平浪静是什么生肖| 强直性脊柱炎有什么症状| 16年属什么| 出炉是什么意思| 濯清涟而不妖的濯是什么意思| 一吃东西就牙疼是什么原因引起的| 王不见王是什么意思| 淋巴结节什么症状| 力所能及什么意思| 梦到好多小蛇是什么意思| 7月1日什么节日| 市局长是什么级别| 做乳腺彩超挂什么科| 婴儿便便是绿色的是什么原因| 方圆什么意思| 但求无愧于心上句是什么| 男生圆脸适合什么发型| 苦口婆心是什么生肖| 龟头炎用什么软膏最好| 广州五行属什么| 肺部感染是什么症状| 做提肛运动有什么好处| 内痔疮吃什么药最好| opple是什么牌子| 38码衣服相当于什么码| 沉香有什么作用与功效| 初检检查什么| zoom是什么| 8月29日什么星座| 什么时候怀孕几率最高| 经常吃杏仁有什么好处| 肚脐眼红是什么原因| 什么是自闭症| 高压高是什么原因引起的| 尿结石是什么引起的| 319是什么意思| 精血亏虚吃什么中成药| 避孕药什么牌子好| 吃什么有助于睡眠效果好| 婴儿呛奶是什么原因引起的| 手腕三条纹代表什么| 梦到和别人吵架是什么意思| 诺贝尔为什么没有数学奖| 胆固醇高挂什么科| 世界上最贵的烟是什么烟| 鼻基底填充用什么材料比较好| 中元节与什么生肖有关| 后循环缺血是什么意思| 皮肤干燥缺什么维生素| 热结旁流是什么意思| 穿什么衣服好看| 肝在五行中属什么| 神经性皮炎用什么药膏效果最好| 金骏眉茶是什么茶| 脸黑的人适合穿什么颜色的衣服| 鹅蛋有什么好处| 心电图是什么| 11月份什么星座| 副乡长是什么级别| azul是什么颜色| 腋下有异味是什么原因导致的| 小猫的尾巴有什么用处| 回复1是什么意思| 人中龙凤下一句是什么| 知更鸟是什么鸟| 当伴郎有什么讲究| 宝宝拉肚子吃什么好| 喝酒后吃什么解酒最快| 逾期不候什么意思| 车间管理人员工资计入什么科目| 梦见买衣服是什么预兆| 仓鼠吃什么食物最好| mcm中文叫什么牌子| 阉割是什么意思| 乳房边缘疼是什么原因| 什么是膝关节退行性变| 爱什么稀罕| ktv是什么意思| 下肢静脉血栓吃什么药| 下嘴唇有痣代表什么| 什么叫高危性行为| 尿蛋白阳性是什么意思| 量程是什么| 为什么金生水| 双子男喜欢什么样的女生| 经常心慌是什么原因| mr是什么意思| 变态反应科是看什么病的| 6周岁打什么疫苗| 港式按摩是什么意思| 云南雪燕有什么作用| 肝火旺盛吃什么| 免疫固定电泳查什么的| 梦见母亲去世预示什么| 慢性萎缩性胃炎是什么意思| 手指肚发红是什么原因| 磨砂膏是什么| 什么是芡实| 甲亢吃什么药好得快| 短兵相见是什么意思| 歪理是什么意思| 馥是什么意思| 活化部分凝血活酶时间偏高是什么意思| 肾虚吃什么药最有效| 圹是什么意思| 宝宝胎动频繁说明什么| 老是腹泻是什么原因导致的| 独一无二是什么生肖| 种猪是什么意思| 二本是什么学历| 猫咪喜欢吃什么| 阑珊处是什么意思| 业障是什么意思| 10月3号是什么星座| 双子后面是什么星座| 吃什么睡眠好的最快最有效| 12月28是什么星座| 人体消化道中最长的器官是什么| 周围神经病是什么症状| 甘油三酯高有什么症状| 特朗普是什么星座| 什么笑组词| 脑梗吃什么鱼最好| 月经时间长是什么原因| godiva是什么牌子| 百度Jump to content

深度网络,深度网络,长春深度策划刘伟1550000..

From Wikipedia, the free encyclopedia
(Redirected from Data structures)
A data structure known as a hash table.
百度 ”《米其林指南》国际总监米夏埃尔·埃利斯说。

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.

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-07.
  3. ^ "Data structure". Encyclopaedia Britannica. 17 April 2017. Retrieved 2025-08-07.
  4. ^ Wegner, Peter; Reilly, Edwin D. (2025-08-07). 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-07. Retrieved 2025-08-07.
  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-07.
  7. ^ "1.5 Applications of a Hash Table". University of Regina - CS210 Lab: Hash Table. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  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-07.
  9. ^ Vaishnavi, Gunjal; Shraddha, Gavane; Yogeshwari, Joshi (2025-08-07). "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-07), 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-07
  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-07. Retrieved 6 December 2016.
  14. ^ "The GNU C Manual". Free Software Foundation. Retrieved 2025-08-07.
  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-07.

Bibliography

[edit]

Further reading

[edit]
[edit]
体内湿气太重吃什么药能快速除湿 消化功能紊乱吃什么药 特发性震颤是什么病 旗人是什么意思 吃什么降三高最好
什么是签注 胆囊切除后有什么影响 草包是什么意思 恩五行属性是什么 血糖高吃什么饭
吃了饭胃胀是什么原因 诈尸是什么意思 末次月经是什么意思 北京佑安医院擅长什么 菊花是什么季节
河南有什么美食 臭屁什么意思 肺部散在小结节是什么意思 口水多吃什么药好得快 77代表什么意思
74年属什么的生肖hebeidezhi.com 乌鸡不能和什么一起吃hcv9jop2ns8r.cn 天刑是什么意思mmeoe.com 什么补钙效果最好hcv8jop5ns9r.cn 吃什么吐什么是怎么回事hcv8jop4ns2r.cn
嗓子疼咳嗽挂什么科hcv8jop5ns4r.cn 水痘是什么病毒hcv8jop3ns5r.cn 末伏是什么意思hcv9jop6ns0r.cn td代表什么意思hcv9jop6ns0r.cn 卒中患者什么意思jinxinzhichuang.com
什么组词hcv9jop6ns5r.cn 空调开不了机是什么原因bfb118.com 四平八稳是什么生肖hcv9jop5ns4r.cn 嘬是什么意思hcv8jop4ns0r.cn 泪腺堵塞是什么症状hcv9jop6ns9r.cn
喝酒后呕吐是什么原因hcv8jop1ns1r.cn 什么是腕管综合征1949doufunao.com 大肠杆菌是什么意思hcv9jop2ns4r.cn 大便少是什么原因hcv8jop8ns8r.cn 海澜之家属于什么档次hcv8jop1ns1r.cn
百度