Python icon indicating copy to clipboard operation
Python copied to clipboard

Penambahan struktur data

Open slowy07 opened this issue 4 years ago • 0 comments

description

update penambahan implementasi struktur data pada python

note: issue ini akan dimulai setelah issue yang lama sudah diselesaikan

folder : struktur_data

  • binary tree

    • [x] avl_tree
    • [x] basic binary tree
    • [x] binary search tree (done: @sykrabadi )
    • [x] #224
    • [x] binary tree traversals
    • [ ] fenwick tree
    • [ ] lazy segment tree
    • [ ] lowest common anchestor
    • [ ] merge dua binary tree
    • [ ] non rekursift segment tree
    • [ ] red black tree
    • [ ] segment tree
    • [ ] wavelet tree
  • hash

    • double hash
    • hash table
    • hash table dengan linked list
    • quadratic probing
  • heap

    • binomial heap
    • generic heap
    • heap max
    • heap min
    • random heap
    • skew heap
  • linked list

    • sirkular linked list
    • deque doubly
    • double linked list
    • cek palindrome
    • merge 2 list
    • single linked list
    • swap node
  • queue

    • circular queue
    • circular dengan linked list
    • linked queue
    • priority queue menggunakan list
    • queue list
    • queue pseudo stack
  • stack

    • stack
    • evaluasi postfix
    • konversi infix ke postfix
    • koversi infix ke prefix
    • evaluasi prefix
    • stack dengan double linked list
    • stack dengan single linked list
    • problem stock span
    • algoritma dijkstras two stack
  • trie

    • trie

saya menggunakan

OS : Linux / Windows / MacOS Python: diatas versi 2

tambahan lainnya

  • buka issue yang ingin dipilih kemudian assign
  • lakukan fork
  • kemudian lakukan perubahan atau penambahan sesuai dari issue
  • menggunakan type hints dan doctstring sebagai contoh dibawah ini
def hitung_diameter_lingkaran(radius: float) -> float:
 """
 menghitung diameter dari sebuah lingkaran
 rumus:
 diameter: 2 * radius
 >>> hitung_diameter_lingkaran(12)
 24.0
 """
 return float(2 * radius)

kemudian disarankan dengant testing lokal dengan menginstall flake8 dan pytest pytest

pytest . --doctest-modules --ignore=Basic/

atau bisa juga dengan

pytest namafile.py --doctest-modules --ignore=Basic/

flake8

flake8 . --ignore=E203,W503,W504 --max-complexity=25 --max-line-length=88
  • jika sudah maka lakukan pull request
  • usahakan message commitnya mengikuti dari salah satu dibawah ini (contoh)
    • add: menambahkan algoritma sigmoid
    • feat: menambahkan algoritma sigmoid
    • fix: memperbaiki kesalahan pada algoritma sigmoid
  • membaca peraturan dan pedoman kontribusi

slowy07 avatar Nov 01 '21 16:11 slowy07