Website Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
5 files changed, 8 insertions, 8 deletions
-rw-r--r--Seminar04/README.md4
-rw-r--r--Seminar05/README.md4
-rw-r--r--Seminar06/README.md2
-rw-r--r--Seminar09/README.md2
-rw-r--r--Seminar11/README.md4
diff --git a/Seminar04/README.md b/Seminar04/README.md
index 18eae0d..efa7539 100644
--- a/Seminar04/README.md
+++ b/Seminar04/README.md
@@ -99,7 +99,7 @@ std::vector<int> filter(const std::vector<int>& arr, bool (*pred)(int)) {
```
## Сложността на push_back
-До момента разгледахме няколко структури от данни и се стремяхме главно към O(1) сложност. Виждоме, че push_back() е доста използвана операция, каква е нейната сложност? Ами тя доста често е константна, но когато ни се наложи да направим алокация е линейна. Тоест, в най - лошия случай тя е O(n). Но това не е достатъчно добра оценка.
+До момента разгледахме няколко структури от данни и се стремяхме главно към O(1) сложност. Виждаме, че push_back() е доста използвана операция, каква е нейната сложност? Ами тя доста често е константна, но когато ни се наложи да направим алокация е линейна. Тоест, в най - лошия случай тя е O(n). Но това не е достатъчно добра оценка.
В случая worst case сложността е твърде песимистична. Интересува ни по - скоро колко време ще отнеме цялото изпълнение на алгоритъма използващ push_back() а не колко време ще отнеме на 17 стъпка, примерно. Приемаме по - оптимистичен подход - нека не се интересуваме от това колко е най - лошия случай на операцията а да разгледаме колко време ни отнема да направим всички операции.
Това неформално е целта на така наречения амортизиран анализ на сложност. С него няма да се занимаваме особено много, но е добре да го знаем от обща култура.
@@ -204,4 +204,4 @@ LL = 1 -> 5 -> 2 -> 4 -> 3
* Имате празен списък
* Имате списък с един елемент
* Имате списък и четни елементи
-* Имате списък с нечетни елементи \ No newline at end of file
+* Имате списък с нечетни елементи
diff --git a/Seminar05/README.md b/Seminar05/README.md
index 865e784..b087f9a 100644
--- a/Seminar05/README.md
+++ b/Seminar05/README.md
@@ -88,7 +88,7 @@ Iterator operator++(int) {
```
Напомняме, че разликата между префиксния и постфиксния operator++ е просто един "служебен" int като аргумент на постфиксния.
-Супер, вече можем да се движим, но това движение става безполезно ако нямаме начин да видим каква информация имаме в currentNode. Тази задача по конвенция се изпълнява от operator*. Супер, нека го предефинираме:
+Супер, вече можем да се движим, но това движение става безполезно ако нямаме начин да видим каква информация имаме в currentNode. Тази задача по конвенция се изпълнява от operator\*. Супер, нека го предефинираме:
```cpp
T& operator*() {
return currentNode->data;
@@ -339,4 +339,4 @@ LinkedListNode<int>* partition(LinkedListNode<int>* head, int x);
**HINT:**
-Можете да си направите два указателя, чрез които да строите някакви полезни помощни списъци. После, след като построите тези полезни помощни списъци, можете да пренасочите правилните указатели и да получите коректен отговор. \ No newline at end of file
+Можете да си направите два указателя, чрез които да строите някакви полезни помощни списъци. После, след като построите тези полезни помощни списъци, можете да пренасочите правилните указатели и да получите коректен отговор.
diff --git a/Seminar06/README.md b/Seminar06/README.md
index bfd184f..4915dad 100644
--- a/Seminar06/README.md
+++ b/Seminar06/README.md
@@ -70,4 +70,4 @@ void insertSorted(std::list<T>& ll, const T& elem);
Вход:
``` 1 -> 2 -> 3 ```
-Изход: false \ No newline at end of file
+Изход: false
diff --git a/Seminar09/README.md b/Seminar09/README.md
index 92a4fdb..3917b0e 100644
--- a/Seminar09/README.md
+++ b/Seminar09/README.md
@@ -112,4 +112,4 @@ succ(x) = min{y | y е ключ на възел в T и y > x} // Наследн
Бележка: Не е нужно х да се съдържа в дървото.
## Задача седма (Контролно)
-Да се напише функция, която намира сумата на всички елементи на двоично наредено дърво от цели числа, които имат нечетен брой наследници в интервала [x, y] (т.е. сумата на броя елементи в лявото поддърво и броя елементи в дясното поддърво в интервала [x, y] е нечетно число). Нека x и y са параметри на функцията. \ No newline at end of file
+Да се напише функция, която намира сумата на всички елементи на двоично наредено дърво от цели числа, които имат нечетен брой наследници в интервала [x, y] (т.е. сумата на броя елементи в лявото поддърво и броя елементи в дясното поддърво в интервала [x, y] е нечетно число). Нека x и y са параметри на функцията.
diff --git a/Seminar11/README.md b/Seminar11/README.md
index cf0d36c..c1c5060 100644
--- a/Seminar11/README.md
+++ b/Seminar11/README.md
@@ -30,7 +30,7 @@
### Тегловен граф
-Често е полезно да "закачим" някакви тегла на ребрата. Примерно, ако върходете на графа представляват някакви забележителности, а ребрата са пътища между тях, теглата могат да представляват времето в минути, което отнема да стигнем от v1 до v2.
+Често е полезно да "закачим" някакви тегла на ребрата. Примерно, ако върховете на графа представляват някакви забележителности, а ребрата са пътища между тях, теглата могат да представляват времето в минути, което отнема да стигнем от v1 до v2.
Примерно, това е **рисунка** на тегловен граф:
@@ -142,4 +142,4 @@ matrix[7][5] = false
Предимството на тази реализация е, че бързо можем да добавяме върхове и ребра. Също така паметта ни вече не е O(|V|^2) а O(|V| + |E|).
-Част от материалите са взаимствани от [тук](https://github.com/MariaGrozdeva/Data_structures_and_algorithms_FMI/tree/main/Sem_10) \ No newline at end of file
+Част от материалите са взаимствани от [тук](https://github.com/MariaGrozdeva/Data_structures_and_algorithms_FMI/tree/main/Sem_10)