Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Čermák Petr
Prm1
Commits
6a116181
Commit
6a116181
authored
Oct 20, 2019
by
Mareš Martin
Browse files
04: Třídění a hledání
parent
cb489294
Changes
7
Hide whitespace changes
Inline
Side-by-side
04-trideni/04-trideni.tex
0 → 100644
View file @
6a116181
\documentclass
{
beamer
}
\usepackage
[utf8]
{
inputenc
}
\usepackage
[czech]
{
babel
}
\usepackage
{
palatino
}
\usepackage
{
verbatim
}
\usetheme
{
Warsaw
}
\title
{
Programování 1: Třídění a vyhledávání
}
\author
[Martin Mareš]
{
Martin Mareš
\\\texttt
{
mj@ucw.cz
}}
\institute
{
Katedra Aplikované Matematiky
\\
MFF UK Praha
}
\date
{
2019
}
\begin{document}
\setbeamertemplate
{
navigation symbols
}{}
\setbeamertemplate
{
footline
}{}
\setbeamerfont
{
title page
}{
family=
\rmfamily
}
\shorthandoff
{
"
}
\begin{frame}
\titlepage
\end{frame}
\input
../slidemac.tex
% ----------------------------------------------------------------------
\begin{frame}
{
Binární vyhledávání v setříděném seznamu
}
\verbatiminput
{
binarni-hledani-raw.py
}
\end{frame}
% ----------------------------------------------------------------------
\begin{frame}
{
Intermezzo: Formátovací řetězce
}
\py
{
%
x=1
\\
y=2
\\
f"
\{
x
\}
,
\{
y
\}
"
}{
%
'1,2'
}
\py
{
%
f"
\{
x:5
\}
\{
y:05
\}
"
}{
%
'~~~~1 00002'
}
\py
{
%
z=1/3
\\
f"
\{
z:.6
\}
"
}{
%
'0.333333'
}
\py
{
%
f"
\{
1/3
\}
"
}{
%
'0.3333333333333333'
}
\end{frame}
% ----------------------------------------------------------------------
\begin{frame}
{
Třídění výběrem
}
\verbatiminput
{
trideni-vyberem.py
}
\end{frame}
% ----------------------------------------------------------------------
\end{document}
04-trideni/Makefile
0 → 100644
View file @
6a116181
SLIDES
=
04-trideni.pdf
include
../Makerules
04-trideni/binarni-hledani-print.py
0 → 100644
View file @
6a116181
while
l
<=
p
:
stred
=
(
l
+
p
)
//
2
print
(
f
"[
{
l
}
,
{
p
}
]
{
kde
[
stred
]
}
"
)
if
kde
[
stred
]
==
co
:
# Našli jsme
print
(
f
"Nalezeno na pozici
{
stred
}
"
)
break
elif
kde
[
stred
]
<
co
:
l
=
stred
+
1
# Jdeme doprava
else
:
p
=
stred
-
1
# Jdeme doleva
else
:
print
(
"Kde nic, tu nic"
)
04-trideni/binarni-hledani-raw.py
0 → 100644
View file @
6a116181
kde
=
[
11
,
22
,
33
,
44
,
55
,
66
,
77
,
88
]
co
=
int
(
input
())
l
=
0
# Hledáme v intervalu [l,p]
p
=
len
(
kde
)
-
1
while
l
<=
p
:
stred
=
(
l
+
p
)
//
2
if
kde
[
stred
]
==
co
:
# Našli jsme
print
(
"Nalezeno na pozici"
,
stred
)
break
elif
kde
[
stred
]
<
co
:
l
=
stred
+
1
# Jdeme doprava
else
:
p
=
stred
-
1
# Jdeme doleva
else
:
print
(
"Kde nic, tu nic"
)
04-trideni/binarni-hledani.py
0 → 100755
View file @
6a116181
#!/usr/bin/env python3
# Binární vyhledávání v setříděném seznamu
kde
=
[
11
,
22
,
33
,
44
,
55
,
66
,
77
,
88
]
co
=
int
(
input
())
# Hledané číslo se nachazí v intervalu [l, p]
l
=
0
p
=
len
(
kde
)
-
1
while
l
<=
p
:
stred
=
(
l
+
p
)
//
2
if
kde
[
stred
]
==
co
:
# Našli jsme
print
(
"Nalezeno na pozici"
,
stred
)
break
elif
kde
[
stred
]
<
co
:
l
=
stred
+
1
# Jdeme doprava
else
:
p
=
stred
-
1
# Jdeme doleva
else
:
print
(
"Kde nic, tu nic"
)
04-trideni/trideni-vyberem.py
0 → 100755
View file @
6a116181
#!/usr/bin/env python3
# Třídění opakovaným výběrem minima
x
=
[
31
,
41
,
59
,
26
,
53
,
58
,
97
]
n
=
len
(
x
)
for
i
in
range
(
n
):
pmin
=
i
for
j
in
range
(
i
+
1
,
n
):
if
x
[
j
]
<
x
[
pmin
]:
pmin
=
j
x
[
i
],
x
[
pmin
]
=
x
[
pmin
],
x
[
i
]
print
(
x
)
SYLLABUS
View file @
6a116181
...
...
@@ -62,6 +62,7 @@ Značení:
- řezy
- list comprehension
- stringy
- formátování
# slévání setříděných posloupností
## Datové struktury (1)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment