Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
B
Blatt 02
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Algorithmen Datenstrukturen und Datenabstraktion WS22
Blatt 02
Commits
9bcdb4fc
Commit
9bcdb4fc
authored
2 years ago
by
nilsl99
Browse files
Options
Downloads
Patches
Plain Diff
Added a jupyter notebook for timing
parent
2f8d756a
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
Aufgabe02Timing.ipynb
+111
-0
111 additions, 0 deletions
Aufgabe02Timing.ipynb
with
111 additions
and
0 deletions
Aufgabe02Timing.ipynb
0 → 100644
+
111
−
0
View file @
9bcdb4fc
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from Aufgabe02 import HeapSort, InsertionSort, CountingSort\n",
"from time import perf_counter_ns as time\n",
"import random\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Counting Sort"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"max_num = 99\n",
"num_list = range(max_num + 1)\n",
"\n",
"n_list = [100*i+10 for i in range(100)]\n",
"t_list = [0]*len(n_list)\n",
"for i, n in enumerate(n_list):\n",
" for j in range(10):\n",
" array = random.choices(num_list, k=n)\n",
"\n",
" t0 = time()\n",
" sorted_array = CountingSort(array, k=max_num)\n",
" t1 = time()\n",
"\n",
" t_list[i] += t1 - t0\n",
"\n",
"t_list_ms = [t/1e+6 for t in t_list]\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure()\n",
"ax = fig.add_subplot(111)\n",
"\n",
"ax.grid(\"both\")\n",
"\n",
"ax.plot(n_list, t_list_ms)\n",
"\n",
"fig.tight_layout()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.9.6 64-bit",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.6"
},
"orig_nbformat": 4,
"vscode": {
"interpreter": {
"hash": "11938c6bc6919ae2720b4d5011047913343b08a43b18698fd82dedb0d4417594"
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}
%% Cell type:code id: tags:
```
python
from
Aufgabe02
import
HeapSort
,
InsertionSort
,
CountingSort
from
time
import
perf_counter_ns
as
time
import
random
import
matplotlib.pyplot
as
plt
```
%% Cell type:markdown id: tags:
# Counting Sort
%% Cell type:code id: tags:
```
python
max_num
=
99
num_list
=
range
(
max_num
+
1
)
n_list
=
[
100
*
i
+
10
for
i
in
range
(
100
)]
t_list
=
[
0
]
*
len
(
n_list
)
for
i
,
n
in
enumerate
(
n_list
):
for
j
in
range
(
10
):
array
=
random
.
choices
(
num_list
,
k
=
n
)
t0
=
time
()
sorted_array
=
CountingSort
(
array
,
k
=
max_num
)
t1
=
time
()
t_list
[
i
]
+=
t1
-
t0
t_list_ms
=
[
t
/
1e+6
for
t
in
t_list
]
```
%% Cell type:code id: tags:
```
python
fig
=
plt
.
figure
()
ax
=
fig
.
add_subplot
(
111
)
ax
.
grid
(
"
both
"
)
ax
.
plot
(
n_list
,
t_list_ms
)
fig
.
tight_layout
()
plt
.
show
()
```
%% Output
%% Cell type:code id: tags:
```
python
```
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment