P ython p rogramming e xercises


Special Cases and Gotchas



Yüklə 1,51 Mb.
Pdf görüntüsü
səhifə108/124
tarix14.05.2023
ölçüsü1,51 Mb.
#113537
1   ...   104   105   106   107   108   109   110   111   ...   124
PythonProgrammingExercisesGentlyExplained

Special Cases and Gotchas 
Sorting algorithms are an excellent introduction to the computer science topic of data structures 
and algorithms. And bubble sort is a good introduction to sorting algorithms. But the chief weakness of 
bubble sort is that it’s incredibly inefficient. While it can quickly sort lists of a few dozen or few 
hundred values, it becomes infeasible for sorting lists of thousands or millions of values. For this 
reason, real-world applications never use bubble sort. 
Now try to write a solution based on the information in the previous sections. If you still have 
trouble solving this exercise, read the Solution Template section for additional hints. 
Solution Template 
Try to first write a solution from scratch. But if you have difficulty, you can use the following 
partial program as a starting place. Copy the following code from https://invpy.com/bubblesort-template.py 
and paste it into your code editor. Replace the underscores with code to make a working program: 
def bubbleSort(numbers): 
# The outer loop loops i over all but the last number: 
for i in range(len(____) - ____): 
# The inner loop loops j starting at i to the last number: 
for j in range(____, len(____)): 
# If the number at i is greater than the number at j, swap them: 
if numbers[i] ____ numbers[j]: 
numbers[i], numbers[j] = numbers[____], numbers[____] 
# Return the now-sorted list: 
return numbers 


Python Programming Exercises, Gently Explained 
133 
The complete solution for this exercise is given in Appendix A and https://invpy.com/bubblesort.py
You can view each step of this program as it runs under a debugger at https://invpy.com/bubblesort-
debug/
Further Reading 
If you want to see what a first-year computer science student would study in a data structures and 
algorithms course, Coursera has a free online course called ―Algorithmic Toolbox‖ at 
https://www.coursera.org/learn/algorithmic-toolbox.


134 

Yüklə 1,51 Mb.

Dostları ilə paylaş:
1   ...   104   105   106   107   108   109   110   111   ...   124




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin