Standard Template Library STL

Slides:



Advertisements
Presentasi serupa
Queue (Antrian).
Advertisements

Dr. Anto Satriyo Nugroho, M.Eng
Pertemuan 5 Struktur Data
Dictionary (Icomparable dan IComparer) Eka, Erick, Reddy © Sekolah Tinggi Teknik Surabaya 1.
Struktur data dalam algoritma
List, Stack & Queue (1) Dr. Anto Satriyo Nugroho, M.Eng
IMPLEMENTASI STACK NAMA KELOMPOK : DAVID A.R KORAWATI SANDYA Y.P
Struktur Data Queue Sandy dan Erick.
Struktur Data & Algoritma Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) ‏ 1 Fasilkom UI SUR – HMM – AAFasilkom UI - IKI20100/ IKI80110P.
Queue.
Struktur data dalam algoritma Ali Ridho Barakbah.
Ruli Manurung & Ade Azurat (acknowledgments: Denny, Suryana Setiawan) ‏ 1 Fasilkom UI Ruli Manurung & Ade AzuratFasilkom UI - IKI20100 IKI 20100: Struktur.
Algoritma dan Struktur Data
STACK (Tumpukan).
Struktur Data (Data Structure) – IS 2313
QUEUE (antrian).
STRUKTUR DATA (4) Array Stack(Tumpukkan) dan Queue (Antrian)
Queue.
Queue.
Struktur Data Stack.
Queue.
Double Ended QUEUE (DeQue) 6.3 & 7.3 NESTED LOOP.
ARRAY RUBY. PENDAHULUAN Ruby's arrays are untyped and mutable. The elements of an array need not all be of the same class, and they can be changed at.
Algorithm and Data Structures.
Mempelajari tipe data queue dan bagaimana menggunakan fungsi insert, remove, is_empty dan is_full. Mempelajari bagaimana mengimplementasikan queue dengan.
Abstract Data Types dan Java Collections API
Linear Data Structures (Stack)
Abstract Data Type.
Algoritma dan Struktur Data
1 DATA STRUCTURE “ STACK” SHINTA P STMIK MDP APRIL 2011.
Abstract Data Type (C++ and Java)
Circular Queue.
STRUKTUR DATA (4) array stack dan queue
Struktur Data List Linear : Linked List (Single Linkedlist)
Pemrograman Berorientasi Obyek Lanjut (IT251)
IKI 20100: Struktur Data & Algoritma Ruli Manurung & Ade Azurat (acknowledgments: Denny, Suryana Setiawan) ‏ 1 Fasilkom UI Ruli Manurung & Ade AzuratFasilkom.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Pertemuan 5 STACK & QUEUE
ANTRIAN Farid Wajdi Yusuf Pendidikan Teknik Informatika dan Komputer
Apakah Stack itu ?. Apakah Stack itu ? Pengertian STACK Secara sederhana diartikan dengan : sebagai tumpukan dari benda sekumpulan data yang seolah-olah.
Pertemuan 7 stack jual [Valdo] Lunatik Chubby Stylus.
STACK.
Algoritma dan Struktur Data
Algoritma dan Struktur Data
Pertemuan Linked list jual [Valdo] Lunatik Chubby Stylus.
1 Pertemuan 13 Algoritma Pergantian Page Matakuliah: T0316/sistem Operasi Tahun: 2005 Versi/Revisi: 5.
Pertemuan 14 Algoritma Pergantian Page (lanjutan)
Binary Search Tree. Sebuah node di Binary Search Tree memiliki path yang unik dari root menurut aturan ordering – Sebuah Node, mempunyai subtree kiri.
Fondasi Pemrograman & Struktur Data
Universitas Budi Luhur
Fondasi Pemrograman & Struktur Data
Struktur Data Stack Oleh Lutfi Budi Ilmawan
Defri Kurniawan ADT STACK Defri Kurniawan
Abstract Data Type (ADT) and Stack Array
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Fondasi Pemrograman & Struktur Data
STACK 6.3 & 7.3 NESTED LOOP.
STACK (Tumpukan).
Pertemuan 5 Review Berbagai Struktur Data
Struktur data dalam algoritma
MATAKULIAH : STRUKTUR DATA
STACK (Tumpukan).
STACK / TUMPUKAN Struktur Data.
STACK Yohana Nugraheni.
Algoritme dan Stuktur Data
QUEUE (Antrian) #Kulia 6 Algoritma dan Struktur Data.
STRUKTUR DATA.
Konsep Bahasa Pemrograman II Array Lanjutan
TIF 4201 Algoritma Dan Struktur Data Abstract Data Type
Struktur Data Linear Created by Fifth Group, S3B TI Anggota
Transcript presentasi:

Standard Template Library STL

STL STL => Standard Template Library Adalah merupakan kumpulan library yang melengkapi library standard C++. Berisi kumpulan class-class yang umum digunakan, seperti container, algorithm, dan iterator. Menyediakan algoritma dan struktur data dasar untuk permasalahan komputasi.

STL STL (meliputi) Container Algorithm : Sequence Container : vector, deque, list Associative containers : set, multiset, multimap, map Container adapters :stack, queue, priority queue Algorithm : equal, mismatch, lexicographical_compare, remove, remove_if, replace, replace_if, random_shuffle, count, count_if, min_element, max_element, accumulate, for_each , dll Iterator

Container Adalah sebuah class, data structure, atau sebuah ADT (abstract Data Type) yang akan menjadi instance dari koleksi object lain. Digunakan untuk menyimpan object-object dalam bentuk yang terorganisasi diikuti dengan aturan akses tertentu.

Container Container Sebuah struktur data dapat dipandang sebagai tempat penyimpanan benda (container). Beberapa hal yang dapat dilakukan: Membuat container baru(konstruktor) Menaruh benda Mengambil benda Mencari benda tertentu Mengosongkannya (atau periksa apakah kosong)‏ Mendapatkan jumlah benda dalam container (size) Data

Container Terdiri dari 3 macam Sequence containers => Container yang tersusun berdere- deret. Associative containers => merupakan container yang key- nya diasosiasikan dengan suatu value. Container adapters => merupakan containers dengan interface spesifik, memanfaatkan containers lain untuk implementasinya.

Sequence containers vector rapid insertions and deletions at back direct access to any element deque rapid insertions and deletions at front or back direct access to any element list doubly linked list, rapid insertion and deletion anywhere

Associative containers set rapid lookup, no duplicates allowed multiset rapid lookup, duplicates allowed map one-to-one mapping, no duplicates allowed, rapid key-based lookup multimap one-to-many mapping, duplicates allowed, rapid key-based lookup

Container adapters stack last-in, first-out (LIFO) queue first-in, first-out (FIFO) priority_queue highest-priority element is always the first element out

Container: List 1 2 3 4 Indeks Sebuah List adalah kumpulan benda di mana setiap benda memiliki posisi. Setiap benda dalam List dapat diakses melalui indeks-nya. Contoh paling gampang: array!

Container: Vector 1 2 3 4 Indeks Sebuah Vector adalah kumpulan benda di mana setiap benda memiliki posisi dan size-nya dinamis. Setiap benda dalam List dapat diakses melalui indeks-nya. Contoh paling gampang: dynamic array!

Vector - Overview of functions informative vector::front - Returns reference to first element of vector. vector::back - Returns reference to last element of vector. vector::size - Returns number of elements in the vector. vector::empty - Returns true if vector has no elements. vector::capacity - Returns current capacity (allocated memory) of vector.

Vector - Overview of functions standard operations vector::insert - Inserts elements into a vector (single & range), shifts later elements up. O(n) time. vector::push_back - Appends (inserts) an element to the end of a vector, allocating memory for it if necessary. Amortized O(1) time. vector::erase - Deletes elements from a vector (single & range), shifts later elements down. O(n) time. vector::pop_back - Erases the last element of the vector, O(1) time. Does not usually reduce the memory overhead of the vector. Amortized O(1) time. vector::clear - Erases all of the elements. (For most STL implementations this is O(n) time and does not reduce capacity)

Vector - Overview of functions allocation/size modification vector::reserve - Changes capacity (allocates more memory) of the vector, if needed. In many STL implementations capacity can only grow, and is never reduced. O(n) if the vector expands. O(1) if not. vector::resize - Changes the vector size. O(n) time.

Vector - Overview of functions iteration vector::begin - Returns an iterator to start traversal of the vector. vector::end - Returns an iterator that points just beyond the end of the vector.

Container : Stack Least recent Most recent push pop,top Sebuah Stack adalah kumpulan benda di mana hanya benda yang most recently inserted dapat diakses. Bayangkan setumpuk koran. Benda yang paling terakhir ditambahkan ditaruh di atas tumpukan (top). Operasi pada Stack membutuhkan waktu konstan (O(1)).

Container : Queue enqueue Most recent Least recent dequeue getFront Sebuah Queue adalah kumpulan benda di mana hanya benda yang least recently inserted dapat diakses. Bayangkan antrian printer job pada jaringan. Benda yang paling awal ditambahkan berada di depan antrian (front). Operasi pada Queue membutuhkan waktu konstan (O(1)).

Container : Set tambah Set adalah struktur data yang tidak mengizinkan duplikasi data. Bandingkan dengan struktur data lain yang mengizinkan kita menyimpan dua data yang sama. Bayangkan peserta kuliah ini: Setiap peserta unik, tidak ada yang terdaftar dua kali!

Container : Map Abdul Betty Chairul Dian Nama: Nilai: Map adalah struktur data yang berisi sekumpulan pasangan nama (keys) dan nilai (values) dari nama tersebut. Nama (Keys) harus unik, tapi nilai (values) tidak. Bayangkan basis-data yang berisi informasi peserta kuliah. Apa yang menjadi “nama” (keys)?

Map – member functions

Container : Priority Queue Highest priority insert deleteMin findMin Priority Queue adalah struktur data queue yang tiap elemen data dapat miliki nilai prioritas. Data dengan nilai prioritas tertinggilah yang dapat diakses terlebih dulu. Bayangkan sebuah antrian pada printer jaringan. Misalkan ada sebuah permintaan cetak untuk 100 halaman hanya beberapa detik lebih awal dari permintaan cetak selembar halaman.

STL : Algorithm Sebuah method yang efektif untuk problem solving yang dinyatakan/diungkapkan dalam rangkaian/rentetan instruksi yang terbatas. Digunakan untuk melakukan kalkulasi, data processing

Iterator Sebuah object yang mengizinkan programmer melintasi semua element data dari sebuah collection, tanpa memperhatikan bagaimana sebuah collection diimplementasikan Objek iterator mengendalikan iterasi pembacaan data pada collection c. Secara umum Iterator bekerja sebagai berikut: Mulai dengan mengatur iterator pada elemen pertama pada collection. Satu-persatu berlanjut pada elemen selanjutnya Berakhir ketika tidak ada lagi elemen pada collection yang belum dibaca.

Ilustrasi: Iterator User (program yang mengakses data) Iterator Collection User (program yang mengakses data)