Update Graphs for id translation
This commit is contained in:
parent
a027d8dab5
commit
f4a4710c7c
@ -855,67 +855,63 @@ If you need more detail on this subject, see "Sorting" section in [Additional De
|
||||
|
||||
## Graphs
|
||||
|
||||
Graphs can be used to represent many problems in computer science, so this section is long, like trees and sorting were.
|
||||
Graf (Graphs) dapat digunakan untuk merepresentasikan banyak masalah dalam ilmu komputer, jadi bagian ini panjang, seperti pohon dan penyortiran.
|
||||
|
||||
- Notes from Yegge:
|
||||
- There are three basic ways to represent a graph in memory:
|
||||
- objects and pointers
|
||||
- matrix
|
||||
- adjacency list
|
||||
- Familiarize yourself with each representation and its pros & cons
|
||||
- BFS and DFS - know their computational complexity, their tradeoffs, and how to implement them in real code
|
||||
- When asked a question, look for a graph-based solution first, then move on if none.
|
||||
- Catatan:
|
||||
- Ada 4 cara dasar untuk merepresentasikan Graf dalam memori:
|
||||
- objek dan pointer
|
||||
- matriks kedekatan (adjacency matrix)
|
||||
- daftar kedekatan (adjacency list)
|
||||
- peta kedekatan (adjacency map)
|
||||
- Biasakan diri Anda dengan setiap representasi beserta pro & kontranya
|
||||
- BFS dan DFS - mengetahui kompleksitas komputasi mereka, trade off mereka, dan bagaimana menerapkannya dalam kode nyata
|
||||
- Saat ditanya pertanyaan, cari solusi berbasis Graf terlebih dahulu, lalu lanjutkan jika tidak ada
|
||||
|
||||
- [ ] Skiena Lectures - great intro:
|
||||
- [ ] [CSE373 2012 - Lecture 11 - Graph Data Structures (video)](https://www.youtube.com/watch?v=OiXxhDrFruw&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=11)
|
||||
- [ ] MIT (video):
|
||||
- [ ] [Breadth-First Search](https://www.youtube.com/watch?v=s-CYnVz-uh4&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=13)
|
||||
- [ ] [Depth-First Search](https://www.youtube.com/watch?v=AfSk24UTFS8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=14)
|
||||
|
||||
- [ ] Kuliah Skiena - pengantar yang bagus:
|
||||
- [ ] [CSE373 2012 - Lecture 11 - Graphs Struktur Data (video)](https://www.youtube.com/watch?v=OiXxhDrFruw&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=11)
|
||||
- [ ] [CSE373 2012 - Lecture 12 - Breadth-First Search (video)](https://www.youtube.com/watch?v=g5vF8jscteo&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=12)
|
||||
- [ ] [CSE373 2012 - Lecture 13 - Graph Algorithms (video)](https://www.youtube.com/watch?v=S23W6eTcqdY&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=13)
|
||||
- [ ] [CSE373 2012 - Lecture 14 - Graph Algorithms (con't) (video)](https://www.youtube.com/watch?v=WitPBKGV0HY&index=14&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b)
|
||||
- [ ] [CSE373 2012 - Lecture 15 - Graph Algorithms (con't 2) (video)](https://www.youtube.com/watch?v=ia1L30l7OIg&index=15&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b)
|
||||
- [ ] [CSE373 2012 - Lecture 16 - Graph Algorithms (con't 3) (video)](https://www.youtube.com/watch?v=jgDOQq6iWy8&index=16&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b)
|
||||
- [ ] [CSE373 2012 - Lecture 13 - Algoritma Graph (video)](https://www.youtube.com/watch?v=S23W6eTcqdY&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=13)
|
||||
- [ ] [CSE373 2012 - Lecture 14 - Algoritma Graph (con't) (video)](https://www.youtube.com/watch?v=WitPBKGV0HY&index=14&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b)
|
||||
- [ ] [CSE373 2012 - Lecture 15 - Algoritma Graph (con't 2) (video)](https://www.youtube.com/watch?v=ia1L30l7OIg&index=15&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b)
|
||||
- [ ] [CSE373 2012 - Lecture 16 - Algoritma Graph (con't 3) (video)](https://www.youtube.com/watch?v=jgDOQq6iWy8&index=16&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b)
|
||||
|
||||
- [ ] Graphs (review and more):
|
||||
- [ ] Graphs (ulasan dan lainnya):
|
||||
|
||||
- [ ] [6.006 Single-Source Shortest Paths Problem (video)](https://www.youtube.com/watch?v=Aa2sqUhIn-E&index=15&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
|
||||
- [ ] [6.006 Masalah Jalur Terpendek Sumber Tunggal (video)](https://www.youtube.com/watch?v=Aa2sqUhIn-E&index=15&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
|
||||
- [ ] [6.006 Dijkstra (video)](https://www.youtube.com/watch?v=2E7MmKv0Y24&index=16&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
|
||||
- [ ] [6.006 Bellman-Ford (video)](https://www.youtube.com/watch?v=ozsuci5pIso&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=17)
|
||||
- [ ] [6.006 Speeding Up Dijkstra (video)](https://www.youtube.com/watch?v=CHvQ3q_gJ7E&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=18)
|
||||
- [ ] [Aduni: Graph Algorithms I - Topological Sorting, Minimum Spanning Trees, Prim's Algorithm - Lecture 6 (video)]( https://www.youtube.com/watch?v=i_AQT_XfvD8&index=6&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
|
||||
- [ ] [Aduni: Graph Algorithms II - DFS, BFS, Kruskal's Algorithm, Union Find Data Structure - Lecture 7 (video)]( https://www.youtube.com/watch?v=ufj5_bppBsA&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=7)
|
||||
- [ ] [Aduni: Graph Algorithms III: Shortest Path - Lecture 8 (video)](https://www.youtube.com/watch?v=DiedsPsMKXc&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=8)
|
||||
- [ ] [Aduni: Graph Alg. IV: Intro to geometric algorithms - Lecture 9 (video)](https://www.youtube.com/watch?v=XIAQRlNkJAw&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=9)
|
||||
- [ ] [CS 61B 2014 (starting at 58:09) (video)](https://youtu.be/dgjX4HdMI-Q?list=PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd&t=3489)
|
||||
- [ ] [CS 61B 2014: Weighted graphs (video)](https://www.youtube.com/watch?v=aJjlQCFwylA&list=PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd&index=19)
|
||||
- [ ] [Greedy Algorithms: Minimum Spanning Tree (video)](https://www.youtube.com/watch?v=tKwnms5iRBU&index=16&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
|
||||
- [ ] [Strongly Connected Components Kosaraju's Algorithm Graph Algorithm (video)](https://www.youtube.com/watch?v=RpgcYiky7uw)
|
||||
- [ ] [6.006 Mempercepat Dijkstra (video)](https://www.youtube.com/watch?v=CHvQ3q_gJ7E&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=18)
|
||||
- [ ] [Aduni: Algoritma Graphs I - Sortasi Topologi, Pohon Rentang Minimum, Algoritma Prim - Kuliah 6 (video)](https://www.youtube.com/watch?v=i_AQT_XfvD8&index=6&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
|
||||
- [ ] [Aduni: Algoritma Graphs II - DFS, BFS, Algoritma Kruskal, Struktur Data Union Find - Kuliah 7 (video)](https://www.youtube.com/watch?v=ufj5_bppBsA&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=7)
|
||||
- [ ] [Aduni: Algoritma Graphs III: Jalur Terpendek - Kuliah 8 (video)](https://www.youtube.com/watch?v=DiedsPsMKXc&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=8)
|
||||
- [ ] [Aduni: Algoritma Graphs IV: Pengantar algoritma geometris - Kuliah 9 (video)](https://www.youtube.com/watch?v=XIAQRlNkJAw&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=9)
|
||||
- [ ] ~~[CS 61B 2014 (mulai dari 58:09) (video)](https://youtu.be/dgjX4HdMI-Q?list=PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd&t=3489)~~
|
||||
- [ ] [CS 61B 2014: Graphs berbobot (video)](https://archive.org/details/ucberkeley_webcast_zFbq8vOZ_0k)
|
||||
- [ ] [Algoritma Serakah: Minimum Spanning Tree (video)](https://www.youtube.com/watch?v=tKwnms5iRBU&index=16&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
|
||||
- [ ] [Komponen yang Sangat Terhubung Algoritma Graphs Algoritma Kosaraju (video)](https://www.youtube.com/watch?v=RpgcYiky7uw)
|
||||
|
||||
- Full Coursera Course:
|
||||
- [ ] [Algorithms on Graphs (video)](https://www.coursera.org/learn/algorithms-on-graphs/home/welcome)
|
||||
- Kursus Coursera Penuh:
|
||||
- [ ] [Algoritma pada Graphs (video)](https://www.coursera.org/learn/algorithms-on-graphs/home/welcome)
|
||||
|
||||
- Yegge: If you get a chance, try to study up on fancier algorithms:
|
||||
- [ ] Dijkstra's algorithm - see above - 6.006
|
||||
- [ ] A*
|
||||
- [ ] [A Search Algorithm](https://en.wikipedia.org/wiki/A*_search_algorithm)
|
||||
- [ ] [A* Pathfinding Tutorial (video)](https://www.youtube.com/watch?v=KNXfSOx4eEE)
|
||||
- [ ] [A* Pathfinding (E01: algorithm explanation) (video)](https://www.youtube.com/watch?v=-L-WgKMFuhE)
|
||||
|
||||
- I'll implement:
|
||||
- [ ] DFS with adjacency list (recursive)
|
||||
- [ ] DFS with adjacency list (iterative with stack)
|
||||
- [ ] DFS with adjacency matrix (recursive)
|
||||
- [ ] DFS with adjacency matrix (iterative with stack)
|
||||
- [ ] BFS with adjacency list
|
||||
- [ ] BFS with adjacency matrix
|
||||
- [ ] single-source shortest path (Dijkstra)
|
||||
- [ ] minimum spanning tree
|
||||
- DFS-based algorithms (see Aduni videos above):
|
||||
- [ ] check for cycle (needed for topological sort, since we'll check for cycle before starting)
|
||||
- [ ] topological sort
|
||||
- [ ] count connected components in a graph
|
||||
- [ ] list strongly connected components
|
||||
- [ ] check for bipartite graph
|
||||
|
||||
You'll get more graph practice in Skiena's book (see Books section below) and the interview books
|
||||
- Saya akan menerapkan:
|
||||
- [ ] DFS dengan daftar kedekatan (rekursif)
|
||||
- [ ] DFS dengan daftar adjacency (iteratif dengan stack)
|
||||
- [ ] DFS dengan matriks adjacency (rekursif)
|
||||
- [ ] DFS dengan matriks adjacency (iteratif dengan stack)
|
||||
- [ ] BFS dengan daftar kedekatan
|
||||
- [ ] BFS dengan matriks adjacency
|
||||
- [ ] jalur terpendek sumber tunggal (Dijkstra)
|
||||
- [ ] pohon rentang minimum
|
||||
- Algoritme berbasis DFS (lihat video Aduni di atas):
|
||||
- [ ] periksa siklus (diperlukan untuk pengurutan topologi, karena kami akan memeriksa siklus sebelum memulai)
|
||||
- [ ] sortir topologi
|
||||
- [ ] menghitung komponen yang terhubung dalam graf
|
||||
- [ ] daftar komponen yang sangat terhubung
|
||||
- [ ] periksa graf bipartit
|
||||
|
||||
## Bahkan Lebih Banyak Pengetahuan
|
||||
|
||||
@ -1195,7 +1191,7 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
|
||||
- [ ] [Arsitektur Web yang Skalabel dan Sistem Terdistribusi](http://www.aosabook.org/en/distsys.html)
|
||||
- [ ] [Kekeliruan Komputasi Terdistribusi Dijelaskan](https://pages.cs.wisc.edu/~zuyu/files/fallacies.pdf)
|
||||
- [ ] [Teknik Pemrograman Pragmatis](http://horicky.blogspot.com/2010/10/scalable-system-design-patterns.html)
|
||||
- [ekstra: Pemrosesan Grafik Google Pregel](http://horicky.blogspot.com/2010/07/google-pregel-graph-processing.html)
|
||||
- [ekstra: Pemrosesan Graph Google Pregel](http://horicky.blogspot.com/2010/07/google-pregel-graph-processing.html)
|
||||
- [ ] [Jeff Dean - Membangun Sistem Perangkat Lunak di Google dan Pelajaran yang Dipetik (video)](https://www.youtube.com/watch?v=modXC5IWTJI)
|
||||
- [ ] [Pengantar Sistem Arsitek untuk Skala](http://lethain.com/introduction-to-architecting-systems-for-scale/)
|
||||
- [ ] [Menskalakan game seluler ke audiens global menggunakan App Engine dan Cloud Datastore (video)](https://www.youtube.com/watch?v=9nWyWwY2Onc)
|
||||
|
Loading…
x
Reference in New Issue
Block a user