Estruktura ng datos

From Wikipedia, the free encyclopedia

Remove ads

Sa agham pangkompyuter, ang data structure (estruktura ng datos ay isang lohikal na pagsasaayos ng datos sa isang kompyuter upang magamit ito ng mas epektibo. Ito ay ang implementasyon ng abstract data type (tipo ng abstraktong datos) sa isang wikang pamprograma kung saan ang mga kaukulang operasyon ay maaaring gawin sa datos na nakapaloob dito. Ang iba't ibang klase ng estruktura ng datos ay may kanya-kanyang gamit. Sa katunayan, ang iba sa mga ito ay spesipiko lamang para sa isang gawain. Halimbawa, mas magandang gumamit ng mga punong binaryo kung madami ang datos na kailangan isaayos (katulad ng mga database) at ang array kung simpleng pagmamanipula lamang ng limitadong datos ang kailangan. Napaka-importante ng mga estruktura ng datos sa pag gawa ng mga sopwer sa kompyuter. Ang ilan sa mga epektibong algoritmo ay nangangailangan ng implementasyon ng mga estruktura ng datos upang tumakbo ng maayos. Kinakailangan din ito upang mapadali ang pag disenyo ng mga database kung saan importante ang pagkakasaayos ng datos.

Remove ads

Konsepto sa likod ng data structures

Nakabase ang konsepto nito sa pagkuha ng datos ng kompyuter sa memorya nito. Kumbaga ang nangyayari sa data structure ay ang pagkukwenta ng mga address ng datos (katulad ng sa array) o di kaya ang pagtatago mismo ng address ng mga ito sa loob mismo ng data structure (linked list) upang makita ang mga elemento na kabilang sa estruktura na iyon.

Iba't ibang klase ng data structures

Ang pinaka-laganap na data structure ay ang array. Halos lahat ng mga high-level programming language ay nag-iimplementa ng ganitong uri ng estruktura ng datos. Ang ilan pa sa mga karaniwang estruktura ng datos ang : stack, queue, pinagdugtong na listahan, punong binaryo.

Mga datatype (tipo ng datos)

Tipong primitibo

  • Boolean (para sa mga halagang boolean na True/False)
  • Char para sa mga halagang character
  • Float para sa pag-iimbak(store) ng mga halagang real na bilang
  • Double na mas malaking sukat ng tayp na float
  • int para sa mga halagang integral(buo) o tiyak ang presisyon
  • String para sa string o sunod sunod na character
  • Enumerated type

Tipong kompuwesto

  • Array
  • Record (na tinatawag ring tuple o struct)
  • Union
  • Tagged union (na tinatawag ring variant, variant record, discriminated union, o disjoint union)
  • Plain old data structure

Tipong abstrakto

Estruktura ng datos na lineal

Arrays

  • Array
  • Bidirectional map
  • Bit array
  • Bit field
  • Bitboard
  • Bitmap
  • Circular buffer
  • Control table
  • Image
  • Dynamic array
  • Gap buffer
  • Hashed array tree
  • Heightmap
  • Lookup table
  • Matrix
  • Parallel array
  • Sorted array
  • Sparse array
  • Sparse matrix
  • Iliffe vector
  • Variable-length array

Listahan

  • Doubly linked list
  • Linked list
  • Self-organizing list
  • Skip list
  • Unrolled linked list
  • VList
  • Xor linked list
  • Zipper
  • Doubly connected edge list

Trees (Puno)

Binary trees (Punong binaryo)

  • AA tree
  • AVL tree
  • Binary search tree
  • Binary tree
  • Cartesian tree
  • Randomized binary search tree
  • Red-black tree
  • Rope
  • Scapegoat tree
  • Self-balancing binary search tree
  • Splay tree
  • T-tree
  • Tango tree
  • Threaded binary tree
  • Top tree
  • Treap
  • Weight-balanced tree

B-trees

  • B-tree
  • B+ tree
  • B*-tree
  • B sharp tree
  • Dancing tree
  • 2-3 tree
  • 2-3-4 tree
  • Queap
  • Fusion tree
  • Bx-tree

Heaps (bunton)

  • Heap
  • Binary heap
  • Binomial heap
  • Fibonacci heap
    • AF-heap
  • 2-3 heap
  • Soft heap
  • Pairing heap
  • Leftist heap
  • Treap
  • Beap
  • Skew heap
  • Ternary heap
  • D-ary heap

Tries

  • Trie
  • Radix tree
  • Suffix tree
  • Suffix array
  • Compressed suffix array
  • FM-index
  • Generalised suffix tree
  • B-trie
  • Judy array
  • X-fast trie
  • Y-fast trie
  • Ctrie

Multiway trees

  • Ternary search tree
  • And–or tree
  • (a,b)-tree
  • Link/cut tree
  • SPQR-tree
  • Spaghetti stack
  • Disjoint-set data structure
  • Fusion tree
  • Enfilade
  • Exponential tree
  • Fenwick tree
  • Van Emde Boas tree

Space-partitioning trees

  • Segment tree
  • Interval tree
  • Range tree
  • Bin
  • Kd-tree
  • Implicit kd-tree
  • Min/max kd-tree
  • Adaptive k-d tree
  • Kdb tree
  • Quadtree
  • Octree
  • Linear octree
  • Z-order
  • UB-tree
  • R-tree
  • R+ tree
  • R* tree
  • Hilbert R-tree
  • X-tree
  • Metric tree
  • Cover tree
  • M-tree
  • VP-tree
  • BK-tree
  • Bounding interval hierarchy
  • BSP tree
  • Rapidly-exploring random tree

Application-specific trees

  • Syntax tree
  • Abstract syntax tree
  • Parse tree
  • Decision tree
  • Alternating decision tree
  • Minimax tree
  • Expectiminimax tree
  • Finger tree

Hashes

  • Bloom filter
  • Distributed hash table
  • Hash array mapped trie
  • Hash list
  • Hash table
  • Hash tree
  • Hash trie
  • Koorde
  • Prefix hash tree

Graphs (Grapo)

  • Graph
  • Adjacency list
  • Adjacency matrix
  • Graph-structured stack
  • Scene graph
  • Binary decision diagram
  • Zero suppressed decision diagram
  • And-inverter graph
  • Propositional directed acyclic graph
  • Directed graph
  • Multigraph
  • Hypergraph

Iba pa

  • Lightmap
  • Winged edge
  • Quad-edge
  • Routing table
  • Symbol table
Remove ads

Sanggunian

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads