pop(i) is O(k) not O(n)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 45/100
- Tipo di issue
- Documentazione
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- python
- Ambito
- documentation
Direzione di ricerca
Start with the Lists page in the FIT5211 course material and compare its pop(i) complexity statement with the Python TimeComplexity documentation linked in the issue. Update the complexity explanation and the example to cover indexed pops such as pop(-2), then verify that the displayed timing output and wording are consistent.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Error reported in course FIT5211 on page Lists by user lwoo0004 [email protected]
Incorrect info on page ... pop(i) is O(k) not O(n).
e.g. popping from an indexed location from the end of a list
See python docs:
https://wiki.python.org/moin/TimeComplexity
Pop intermediate O(k)
And revised code:
popzero = timeit.Timer("x.pop(0)", "from main import x")
popend = timeit.Timer("x.pop()", "from main import x")
popend_minus = timeit.Timer("x.pop(-2)", "from main import x") . # ADDED
print("pop(0) pop() pop(-2)")
for i in range(1000000,100000001,1000000):
x = list(range(i))
pt = popend.timeit(number=1000)
x = list(range(i))
pz = popzero.timeit(number=1000)
x = list(range(i))
pe = popend_minus.timeit(number=1000)
print("%15.5f, %15.5f, %15.5f" %(pz,pt,pe))
pop(0) pop() pop(-2)
0.40309, 0.00010, 0.00015
1.20204, 0.00009, 0.00017
1.93542, 0.00009, 0.00014
2.73203, 0.00009, 0.00014
3.45721, 0.00010, 0.00015
4.21476, 0.00011, 0.00015
5.14111, 0.00010, 0.00017
- Lingua principale
- Python
- Stelle
- 274
- Fork
- 161
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di RunestoneInteractive/pythonds
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
RunestoneInteractive/pythonds#109 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
RunestoneInteractive/pythonds#126 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 52/100
RunestoneInteractive/pythonds#120 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 55/100
RunestoneInteractive/pythonds#103 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 42/100
RunestoneInteractive/pythonds#99 · 5 commenti · 1 reazione ·
Tutte le issue di RunestoneInteractive/pythonds
Issue simili
-
Link Checker ReportApertaautomated issue report
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
RapidAI/RapidOCRDocs#119 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
btclib-org/btclib-node#1833 ·
I maintainer di solito rispondono entro 1 giorno
-
IRIS reader: no-data velocity bins (DB_VEL, DB_VELC) returned as 0.0 m/s instead of NaNForse già presa @syedhamidali l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
elodin-sys/elodin#890 ·
I maintainer di solito rispondono entro 1 giorno