Skip to content
This repository was archived by the owner on Sep 19, 2023. It is now read-only.

Commit 32ff76f

Browse files
committed
Format document style and add LaTex formulas
1 parent a40c2f7 commit 32ff76f

File tree

1 file changed

+38
-22
lines changed

1 file changed

+38
-22
lines changed

slides/ticket12.md

+38-22
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# Экзаменационный билет №12
22

3-
## 1.Сборка мусора (Повторное использование памяти).
3+
## 1.Сборка мусора (Повторное использование памяти)
44

55
При удалении разделов текста для освобождения звеньев следует учитывать следующие моменты:
66

7-
- обход всех звеньев удаляемого текста может потребовать длительного времени
8-
- при множественности ссылок на разделы текста (для устранения дублирования одинаковых частей) удаляемый текст нельзя исключить – этот текст может быть задействован в других фрагментах текста.
7+
- Обход всех звеньев удаляемого текста может потребовать длительного времени
8+
- При множественности ссылок на разделы текста (для устранения дублирования одинаковых частей) удаляемый текст нельзя исключить – этот текст может быть задействован в других фрагментах текста
99

1010
Память, занимаемая удаляемым текстом, не освобождается, а удаление текста фиксируется установкой указателей в состояние NULL (например, `pFirst=NULL`).
1111

@@ -19,8 +19,8 @@
1919
### Общая схема подхода
2020

2121
- Для системы управления память выделяется полностью при начале работы программы
22-
- вся память форматируется и представляется в виде линейного списка свободных звеньев
23-
- Для фиксации состояния памяти в классе `TTextLink` создается статическая переменная `MemHeader` типа `TTextMem`.
22+
- Вся память форматируется и представляется в виде линейного списка свободных звеньев
23+
- Для фиксации состояния памяти в классе `TTextLink` создается статическая переменная `MemHeader` типа `TTextMem`
2424

2525
```C++
2626
class TTextMem{
@@ -29,7 +29,7 @@ class TTextMem{
2929
PTTextLink pFree; // первое свободное
3030
```
3131
32-
- Для выделения и форматирования памяти определяется статический метод `InitMemSystem` класса `TTextLink`.
32+
- Для выделения и форматирования памяти определяется статический метод `InitMemSystem` класса `TTextLink`
3333
3434
```C++
3535
void TTextLink::InitMemSystem(int size) // инициализация памяти
@@ -46,10 +46,10 @@ void TTextLink::InitMemSystem(int size) // инициализация памят
4646
}
4747
```
4848

49-
- При запросе памяти в операторе new выделяется первое свободное звено.
49+
- При запросе памяти в операторе new выделяется первое свободное звено
5050

5151
```C++
52-
void * TTextLink::operator new(size_t size) // выделение звена
52+
void* TTextLink::operator new(size_t size) // выделение звена
5353
{
5454
PTTextLink pLink = MemHeader.pFree;
5555
if (MemHeader.pFree != nullptr)
@@ -58,31 +58,47 @@ void * TTextLink::operator new(size_t size) // выделение звена
5858
}
5959
```
6060

61-
- При освобождение звена в операторе `delete` звено включается в список свободных звеньев.
61+
- При освобождение звена в операторе `delete` звено включается в список свободных звеньев
6262

6363
```C++
6464
void operator delete (void *pM)
6565
{
66-
PTTTextLink pLink=(PTTTextLink)pM;
67-
pLink->pNext=MemHeader.pFree;
68-
MemHeader.pFree=pLink;
66+
PTTTextLink pLink = (PTTTextLink)pM;
67+
pLink->pNext = MemHeader.pFree;
68+
MemHeader.pFree = pLink;
6969
}
7070
```
7171

72-
- Для различения звеньев «мусора» и текста – маркировка текстовых звеньев и звеньев списка свободных звеньев.
72+
- Для различения звеньев «мусора» и текста – маркировка текстовых звеньев и звеньев списка свободных звеньев
7373

7474
## 2. Оценка сложности обработки деревьев поиска.
7575

76-
```
77-
Тmin=1
78-
Tmax=log2N(при сбалансированном дереве)
79-
Tmax=N(при вырожденном дереве)
80-
```
76+
![](https://latex.codecogs.com/svg.latex?%5Clarge%20T_%7Bmin%7D%20%3D%201)
77+
![](https://latex.codecogs.com/svg.latex?%5Clarge%20T_%7Bmax%7D%3Dlog2N) (при сбалансированном дереве)
78+
![](https://latex.codecogs.com/svg.latex?%5Clarge%20T_%7Bmax%7D%3DN) (при вырожденном дереве)
79+
80+
81+
![](https://latex.codecogs.com/svg.latex?%5Clarge%20a_N%20%3D%20%5Cfrac%7B1%7D%7BN%7D%5Csum_%7Bi%3D1%7D%5E%7BN%7D%20a%5Ei_N%20%3D%20%5Cfrac%7B1%7D%7BN%7D%5Csum_%7Bi%3D1%7D%5E%7BN%7D%20%28%28a%5Ei_%7Bi-1%7D+1%29%5Cfrac%7Bi-1%7D%7BN%7D%20+%201%5Cfrac%7B1%7D%7BN%7D%20+%20%28a_%7BN-i%7D+1%29%5Cfrac%7BN-i%7D%7BN%7D%29%20%3D%20%5Cfrac%7B1%7D%7BN%7D%28N%20+%20%5Cfrac%7B1%7D%7BN%7D%5Csum_%7Bi%3D1%7D%5E%7BN%7D%5B%28i-1%29a_%7Bi-1%7D%20+%20%28n-i%29a_%7BN-i%7D%5D%29%20%3D%201%20+%20%5Cfrac%7B2%7D%7BN%20*%20N%7D%5Csum_%7Bi%3D1%7D%5E%7BN%7D%28i-1%29a_%7Bi-1%7D%20%3D%201%20+%20%5Cfrac%7B2%7D%7BN%20*%20N%7D%5Csum_%7Bi%3D1%7D%5E%7BN%20%3D%201%7Dia_i)
82+
83+
84+
Из последнего выражения следует:
85+
86+
![](https://latex.codecogs.com/svg.latex?%5Clarge%20%281%29%20a_N%20%3D%201%20+%20%5Cfrac%7B2%7D%7BN%20*%20N%7D%5Csum_%7Bi%3D1%7D%5E%7BN%20%3D%201%7Dia_i%20%3D%201%20+%20%5Cfrac%7B2%7D%7BN%20*%20N%7D%28N-1%29a_%7BN-1%7D%20+%20%5Cfrac%7B2%7D%7BN%20*%20N%7D%5Csum_%7Bi%3D1%7D%5E%7BN%20%3D%202%7Dia_i)
87+
88+
![](https://latex.codecogs.com/svg.latex?%5Clarge%20%282%29%20a_%7BN-1%7D%20%3D%201%20+%20%5Cfrac%7B2%7D%7B%28N-1%29%20*%20%28N-1%29%7D%5Csum_%7Bi%3D1%7D%5E%7BN%20%3D%202%7Dia_i) умножим на ![](https://latex.codecogs.com/svg.latex?%5Clarge%20%28%28N-1%29/N%29%5E2)
89+
90+
![](https://latex.codecogs.com/svg.latex?%5Clarge%20%283%29%5Cfrac%7B2%7D%7BN%20*%20N%7D%5Csum_%7Bi%3D1%7D%5E%7BN%20%3D%202%7Dia_i%20%3D%28%5Cfrac%7BN-1%7D%7BN%7D%29%5E2%28a_%7BN-1%7D-1%29) подставим (3) в (1)
91+
92+
![](https://latex.codecogs.com/svg.latex?%5Clarge%20%284%29a_N%20%3D%20%5Cfrac%7B2%7D%7BN%20*%20N%7D%28%28N%5E2-1%29a_%7BN-1%7D%20+%202N%20-1%29)
93+
94+
Отсюда можно получить (проверяется подстановкой):
95+
96+
![](https://latex.codecogs.com/svg.latex?%5Clarge%20a_N%20%3D%202%5Cfrac%7BN+1%7D%7BN%7DH_N-3%2C%20H_N%20%3D%201%20+%20%5Cfrac%7B1%7D%7B2%7D%20+%20%5Cfrac%7B1%7D%7B3%7D%20+%20%5Cdots%20+%20%5Cfrac%7B1%7D%7BN%7D)
8197

82-
![](../pictures/ticket12-1.png)
98+
![](https://latex.codecogs.com/svg.latex?%5Clarge%20H_N%20%3D%20%5Cgamma%20+%20lnN%20+%20%5Cfrac%7B1%7D%7B12N%5E2%7D%20+%20%5Cdots) (формула Эйлера, ![](https://latex.codecogs.com/svg.latex?%5Clarge%20%5Cgamma%20%5Ccong%200%2C577))
8399

84-
![](../pictures/ticket12-2.png)
100+
![](https://latex.codecogs.com/svg.latex?%5Clarge%20%28N%20%3E%3E%201%29%20%5CRightarrow%20a_N%20%5Ccong%202%5BlnN%20+%20%5Cgamma%5D%20-%203%20%3D%202lnN%20-%20c)
85101

86-
![](../pictures/ticket12-3.png)
102+
Пусть ![](https://latex.codecogs.com/svg.latex?%5Clarge%20a%5E*_N%20%3D%20log_2N) есть средняя длина пути для идеально сбалансированного дерева
87103

88-
![](../pictures/ticket12-4.png)
104+
![](https://latex.codecogs.com/svg.latex?%5Clarge%20%5Clim_%7Bn%20%5Cto%20%5Cinfty%7D%20%5Cfrac%7Ba_N%7D%7Ba%5E*_N%7D%20%3D%20%5Cfrac%7B2lnN%7D%7Blog_2N%7D%20%3D%202ln2%20%3D%201%2C386)

0 commit comments

Comments
 (0)