Kami baru saja merilis kursus di saluran YouTube freeCodeCamp yang merupakan pengantar ramah pemula untuk struktur data umum (daftar tertaut, tumpukan, antrean, grafik) dan algoritme (pencarian, penyortiran, rekursi, pemrograman dinamis) dengan Python Show
Kursus ini akan membantu Anda mempersiapkan wawancara dan penilaian coding. Dalam kursus ini, Anda akan
Aakash NS mengajarkan kursus ini. Dia adalah salah satu pendiri dan CEO Jovian dan telah membuat banyak kursus populer tentang pembelajaran mesin dan pemrograman Kursus ini dipecah menjadi serangkaian pelajaran, tugas, dan proyek. Ada file Notebook Jupyter untuk disertakan dengan setiap bagian Inilah yang dibahas dalam kursus Pelajaran 1 - Pencarian Biner, Daftar Tertaut, dan Kompleksitas
Tugas 1 - Latihan Pencarian Biner
Pelajaran 2 - Pohon Pencarian Biner, Traversal, dan Rekursi
Tugas 2 - Tabel Hash dan Kamus Python
Pelajaran 3 - Mengurutkan Algoritma dan Membagi & Menaklukkan
Tugas 3 - Latihan Bagi dan Taklukkan
Pelajaran 4 - Rekursi dan Pemrograman Dinamis
Pelajaran 5 - Algoritma Graf (BFS, DFS & Jalur Terpendek)
Proyek - Solusi Langkah-demi-Langkah untuk Masalah Pemrograman
Pelajaran 6 - Pertanyaan Wawancara Python, Tip & Saran
Tonton kursus di bawah atau di freeCodeCamp. saluran YouTube org (tontonan 13 jam) IKLAN IKLAN IKLAN Saya seorang guru dan pengembang dengan freeCodeCamp. org. Saya menjalankan freeCodeCamp. saluran YouTube org Jika Anda membaca sejauh ini, tweet ke penulis untuk menunjukkan bahwa Anda peduli. Tweet terima kasih Belajar kode secara gratis. Kurikulum open source freeCodeCamp telah membantu lebih dari 40.000 orang mendapatkan pekerjaan sebagai pengembang. Memulai Setelah membaca tutorial ini, Anda akan mempelajari struktur data apa yang ada di Python, kapan harus menerapkannya, serta kelebihan dan kekurangannya. Kami akan berbicara tentang struktur data secara umum, lalu menyelam lebih dalam ke dalam struktur data Python. daftar, kamus, set, dan tupel Apa Itu Struktur Data?Struktur data adalah cara mengatur data dalam memori komputer, diimplementasikan dalam bahasa pemrograman. Organisasi ini diperlukan untuk penyimpanan, pengambilan, dan modifikasi data yang efisien. Ini adalah konsep mendasar karena struktur data adalah salah satu blok bangunan utama dari setiap perangkat lunak modern. Mempelajari struktur data apa yang ada dan bagaimana menggunakannya secara efisien dalam situasi yang berbeda adalah salah satu langkah pertama untuk mempelajari bahasa pemrograman apa pun Struktur Data dengan PythonStruktur data bawaan di Python dapat dibagi menjadi dua kategori besar. berubah dan tidak berubah. Struktur data yang dapat berubah (dari bahasa Latin mutabilis, "dapat diubah") adalah struktur data yang dapat kita modifikasi — misalnya, dengan menambahkan, menghapus, atau mengubah elemennya. Python memiliki tiga struktur data yang bisa berubah. daftar, kamus, dan set. Struktur data yang tidak dapat diubah, di sisi lain, adalah yang tidak dapat kita ubah setelah pembuatannya. Satu-satunya struktur data bawaan yang tidak dapat diubah di Python adalah tuple Python juga memiliki beberapa struktur data lanjutan, seperti or , yang dapat diimplementasikan dengan struktur data dasar. Namun, ini jarang digunakan dalam ilmu data dan lebih umum di bidang rekayasa perangkat lunak dan penerapan algoritme kompleks, jadi kami tidak akan membahasnya dalam tutorial ini Paket pihak ketiga Python yang berbeda mengimplementasikan struktur data mereka sendiri, seperti DataFrames dan di 8 atau array di 9. Namun, kami juga tidak akan membicarakannya di sini, karena ini adalah topik tutorial yang lebih spesifik (seperti Cara Membuat dan Menggunakan Pandas DataFrame atau Tutorial NumPy. Analisis Data dengan Python)Mari kita mulai dengan struktur data yang bisa berubah. daftar, kamus, dan set DaftarDaftar dalam Python diimplementasikan sebagai array dinamis yang dapat berubah yang menyimpan kumpulan item yang dipesan Pertama, dalam banyak bahasa pemrograman, array adalah struktur data yang berisi kumpulan elemen dari tipe data yang sama (misalnya, semua elemen adalah bilangan bulat). Namun, dalam Python, daftar dapat berisi tipe dan objek data yang heterogen. Misalnya, bilangan bulat, string, dan bahkan fungsi dapat disimpan dalam daftar yang sama. Elemen yang berbeda dari daftar dapat diakses dengan indeks bilangan bulat di mana elemen pertama dari daftar memiliki indeks 0. Properti ini berasal dari fakta bahwa dalam Python, daftar diurutkan, yang berarti mereka mempertahankan urutan di mana Anda memasukkan elemen ke dalam daftar Selanjutnya, kita dapat menambahkan, menghapus, dan mengubah elemen dalam daftar secara sewenang-wenang. Misalnya, metode _0 menambahkan elemen baru ke daftar, dan metode 1 menghapus elemen dari daftar. Selanjutnya, dengan mengakses elemen daftar berdasarkan indeks, kita dapat mengubahnya ke elemen lain. Untuk detail lebih lanjut tentang metode daftar yang berbeda, silakan merujuk keTerakhir, saat membuat daftar, kita tidak perlu menentukan terlebih dahulu jumlah elemen yang akan dikandungnya; Daftar berguna ketika kita ingin menyimpan kumpulan tipe data yang berbeda dan selanjutnya menambah, menghapus, atau melakukan operasi pada setiap elemen daftar (dengan mengulanginya). Selain itu, daftar berguna untuk menyimpan struktur data lain (dan bahkan daftar lainnya) dengan membuat, misalnya, daftar kamus, tupel, atau daftar. Sangat umum untuk menyimpan tabel sebagai daftar daftar (di mana setiap daftar dalam mewakili kolom tabel) untuk analisis data selanjutnya Jadi, kelebihan daftar adalah
Namun, mereka juga memiliki kontra
ContohAkhirnya, mari kita lihat beberapa contoh Kita dapat membuat daftar menggunakan tanda kurung siku ( 2) dengan nol atau lebih elemen di antaranya, dipisahkan dengan koma, atau. Yang terakhir juga dapat digunakan untuk mengubah struktur data tertentu lainnya menjadi daftar
Kita dapat mengakses elemen daftar menggunakan indeks, di mana elemen pertama daftar memiliki indeks 0
Kami juga dapat mengiris daftar dan mengakses beberapa elemen secara bersamaan
Perhatikan bahwa kita tidak harus menentukan indeks dari elemen terakhir yang ingin kita akses jika kita menginginkan semua elemen dari indeks 2 (disertakan) hingga akhir daftar. Secara umum, pemotongan daftar berfungsi sebagai berikut
Mari tunjukkan perilaku ini dengan sebuah contoh
Perhatikan bahwa indeks terakhir yang kami tentukan adalah 3, bukan 2, meskipun kami ingin mengakses elemen di bawah indeks 2. Jadi, indeks terakhir yang kami tulis tidak disertakan Anda dapat bereksperimen dengan berbagai indeks dan daftar yang lebih besar untuk memahami cara kerja pengindeksan Sekarang mari kita tunjukkan bahwa daftar bisa berubah. Misalnya, kita dapat _4 elemen baru ke daftar atau 5 elemen tertentu darinya
Selain itu, kita dapat memodifikasi elemen yang sudah ada dalam daftar dengan mengakses indeks yang diperlukan dan menetapkan nilai baru ke indeks tersebut 0 1Tentu saja, kami hanya menggores permukaan dari apa yang mungkin dengan daftar Python. Anda dapat mempelajari lebih lanjut dari kursus ini atau melihatnya KamusKamus dengan Python sangat mirip dengan kamus dunia nyata. Ini adalah struktur data yang dapat berubah yang berisi kumpulan kunci dan, terkait dengannya, nilai. Struktur ini membuatnya sangat mirip dengan kamus definisi kata. Misalnya, kamus kata (kunci kami) dikaitkan dengan definisi (nilainya) dalam kamus online Oxford. buku atau sumber elektronik yang memberikan daftar kata-kata suatu bahasa dalam urutan abjad dan menjelaskan artinya, atau memberikan kata untuk kata-kata itu dalam bahasa asing Kamus digunakan untuk mengakses data tertentu dengan cepat yang terkait dengan kunci unik. Keunikan sangat penting, karena kita hanya perlu mengakses informasi tertentu dan tidak mengacaukannya dengan entri lainnya. Bayangkan kita ingin membaca definisi Ilmu Data, tetapi sebuah kamus mengarahkan kita ke dua halaman berbeda. mana yang benar? _2Kami menggunakan kamus saat kami dapat mengaitkan (dalam istilah teknis, untuk memetakan) kunci unik ke data tertentu, dan kami ingin mengakses data tersebut dengan sangat cepat (dalam waktu yang konstan, berapa pun ukuran kamusnya). Selain itu, nilai kamus bisa sangat kompleks. Misalnya, kunci kami dapat berupa nama pelanggan, dan data (nilai) pribadi mereka dapat berupa kamus dengan kunci seperti "Usia", "Kota Asal", dll. Jadi, kelebihan kamus adalah
Namun, kontra mereka
ContohSekarang mari kita lihat beberapa contoh. Pertama, kita dapat membuat kamus dengan kurung kurawal ( 7) atau konstruktor 8 3 4Sekarang mari kita mengakses elemen dalam kamus. Kita bisa melakukan ini dengan metode yang sama seperti daftar 5 6Selanjutnya, kita juga dapat memodifikasi kamus — misalnya, dengan menambahkan pasangan 6 baru 7 8Seperti yang bisa kita lihat, kunci baru, "Violet", telah ditambahkan Dimungkinkan juga untuk menghapus elemen dari kamus, jadi cari cara untuk melakukannya dengan membaca. Selain itu, Anda dapat membaca tutorial yang lebih mendalam tentang kamus Python (dengan banyak contoh) atau melihat pelajaran kamus DataQuest SetSet dalam Python dapat didefinisikan sebagai koleksi dinamis yang dapat diubah dari elemen unik yang tidak dapat diubah. Unsur-unsur yang terkandung dalam suatu himpunan harus tidak dapat diubah. Set mungkin tampak sangat mirip dengan daftar, tetapi kenyataannya, mereka sangat berbeda Pertama, mereka hanya boleh berisi elemen unik, jadi tidak boleh ada duplikat. Dengan demikian, set dapat digunakan untuk menghapus duplikat dari daftar. Selanjutnya, seperti himpunan dalam matematika, mereka memiliki operasi unik yang dapat diterapkan padanya, seperti penyatuan himpunan, irisan, dll. Terakhir, mereka sangat efisien dalam memeriksa apakah elemen tertentu terkandung dalam suatu himpunan Jadi, kelebihan dari himpunan adalah
Tapi kontra mereka
ContohUntuk membuat satu set, kita dapat menggunakan tanda kurung kurawal ( 7) atau konstruktor 1. Jangan bingung antara himpunan dengan kamus (yang juga menggunakan tanda kurung kurawal), karena himpunan tidak mengandung 6 pasang. Namun, perhatikan bahwa seperti kunci kamus, hanya struktur atau tipe data yang tidak dapat diubah yang diizinkan sebagai elemen set. Kali ini, mari kita langsung membuat kumpulan populasi _9 0Dalam contoh kedua, kami menggunakan iterable (seperti daftar) untuk membuat satu set. Namun, jika kami menggunakan daftar sebagai elemen set, Python akan membuat kesalahan. Menurut Anda mengapa itu terjadi? . membaca definisi himpunan Untuk berlatih, Anda dapat mencoba menggunakan struktur data lain untuk membuat kumpulan Seperti rekan matematika mereka, kami dapat melakukan operasi tertentu di set kami. Sebagai contoh, kita dapat membuat gabungan dari himpunan, yang pada dasarnya berarti menggabungkan dua himpunan menjadi satu. Namun, jika dua himpunan memiliki dua atau lebih nilai yang identik, himpunan yang dihasilkan hanya akan berisi salah satu dari nilai tersebut. Ada dua cara untuk membuat serikat pekerja. baik dengan metode _3 atau dengan operator bar vertikal ( 4). Mari kita buat contoh 1 2Dalam penyatuan di atas, kita dapat melihat bahwa 5 dan 6 hanya muncul sekali, meskipun kita menggabungkan dua setSelanjutnya, kita mungkin juga ingin mengetahui nama mana yang muncul di kedua set. Ini dapat dilakukan dengan metode _7 atau ampersand ( 8) 3 4 6 dan 5 muncul di kedua set; Contoh terakhir dari operasi himpunan adalah perbedaan antara dua himpunan. Dengan kata lain, operasi ini akan mengembalikan semua elemen yang ada di set pertama, tetapi tidak di set kedua. Kita dapat menggunakan metode _1 atau tanda minus ( 2) 5 6Apa yang akan terjadi jika Anda menukar posisi set? Ada operasi lain yang dapat digunakan dalam set. Untuk informasi lebih lanjut, lihat tutorial ini, atau Terakhir, sebagai bonus, mari bandingkan seberapa cepat menggunakan set, jika dibandingkan dengan daftar, untuk memeriksa keberadaan elemen di dalamnya 7 8Jelas bahwa menggunakan set jauh lebih cepat daripada menggunakan daftar. Perbedaan ini akan meningkat untuk set dan daftar yang lebih besar TupelTuple hampir identik dengan daftar, sehingga berisi kumpulan elemen yang dipesan, kecuali untuk satu properti. mereka tidak berubah. Kami akan menggunakan tupel jika kami membutuhkan struktur data yang, setelah dibuat, tidak dapat dimodifikasi lagi. Selain itu, tupel dapat digunakan sebagai kunci kamus jika semua elemen tidak dapat diubah Selain itu, tupel memiliki properti yang sama dengan daftar. Untuk membuat tuple, kita bisa menggunakan tanda kurung bulat ( 3) atau konstruktor 4. Kita dapat dengan mudah mengubah list menjadi tuple dan sebaliknya (ingat bahwa kita membuat list 5 dari sebuah tuple)Pro dari tupel adalah
Kerugian dari tupel adalah
ContohMari kita lihat beberapa contoh 9 0Apakah mungkin membuat tupel dari struktur data lain (mis. e. , kumpulan atau kamus)? Tuple tidak dapat diubah; . Mari kita lihat apa yang terjadi jika kita mencoba melakukannya 1 2Ini adalah _6. Tuple tidak mendukung penetapan item karena tidak dapat diubah. Untuk mengatasi masalah ini, kita dapat mengubah tuple ini menjadi sebuah listNamun, kita dapat mengakses elemen dalam tupel berdasarkan indeksnya, seperti dalam daftar 3 4Tuple juga dapat digunakan sebagai kunci kamus. Misalnya, kami dapat menyimpan elemen tertentu dan indeks berurutannya dalam sebuah tupel dan memberikan nilai padanya 5Jika Anda menggunakan tuple sebagai kunci kamus, tuple harus berisi objek yang tidak dapat diubah 6 7Kami mendapatkan _6 jika tupel/kunci kami berisi objek yang dapat diubah (daftar dalam kasus ini)KesimpulanMari kita selesaikan apa yang telah kita pelajari dari tutorial ini
Tutorial Python Ilmu Data Tentang Penulis Artur SannikovSaya seorang mahasiswa Biologi Molekuler di Universitas Padua, Italia yang tertarik dengan bioinformatika dan analisis data Mengapa Python tidak digunakan untuk struktur data?Konsumsi Memori . Untuk tugas intensif memori apa pun, Python bukanlah pilihan yang baik. Itu sebabnya tidak digunakan untuk tujuan itu. Konsumsi memori Python juga tinggi, karena fleksibilitas tipe datanya.
Bisakah saya melakukan struktur data dan algoritme dengan Python?Dalam kursus Struktur dan Algoritma Data Melalui Python In Depth ini, program Python digunakan untuk mengimplementasikan berbagai konsep, tetapi Anda dapat dengan mudah mengkodekannya dalam bahasa pemrograman lain seperti C++, Java . .
Bagaimana Anda menggunakan struktur data dengan Python?4. 3 Cara Menerapkan Struktur Stack Data Dengan Python
. Daftar memungkinkan Anda menambahkan item baru ke tumpukan yang ada dengan metode append(), dan menghapus elemen terakhir yang ditambahkan dengan metode pop(). use lists. Lists allow you to add new items to the existing stack with the append() method, and remove the last element added with the pop() method.
Apakah Python OK untuk DSA?Struktur data dan algoritme tidak spesifik bahasa dan karenanya Anda dapat menggunakan bahasa apa pun baik itu JavaScript, C, C++, Java atau Python . Anda harus merasa nyaman dengan sintaks bahasa dan Anda siap melakukannya. |