Главная /
Программирование на языке Pascal /
Постройте дерево бинарного поиска (дерево сортировки) для входной последовательности чисел 7 2 5 1 8 3 6 4 9 13 11 10 12, а затем распечатайте вершины этого дерева в порядке прямого обхода. Какая последовательность чисел получится?
Постройте дерево бинарного поиска (дерево сортировки) для входной последовательности чисел 7 2 5 1 8 3 6 4 9 13 11 10 12, а затем распечатайте вершины этого дерева в порядке прямого обхода. Какая последовательность чисел получится?
вопросПравильный ответ:
7 2 5 1 8 3 6 4 9 13 11 10 12
7 2 1 5 3 4 6 8 9 13 11 10 12
10 12 7 2 5 1 8 4 9 13 11 3 6
7 2 8 1 5 9 3 6 13 4 11 10 12
1 2 3 4 5 6 7 8 9 10 11 12 13
1 4 3 6 5 2 10 12 11 13 9 8 7
13 12 11 10 9 8 7 6 5 4 3 2 1
Сложность вопроса
94
Сложность курса: Программирование на языке Pascal
75
Оценить вопрос
Комментарии:
Аноним
просто спасибо
02 май 2020
Аноним
Пишет вам преподаватель! Немедленно удалите сайт vtone.ru с ответами интуит. Немедленно!
10 янв 2019
Аноним
Если бы не данные ответы - я бы не справился c этими тестами интуит.
30 сен 2017
Другие ответы на вопросы из темы программирование интуит.
- # Какое значение будет храниться в переменной а:shortint после выполнения следующего программного отрывка?{b: char; p: ^shortint} b:= ‘Б’; p:= addr(b); a:= p^;
- # Какие имена переменных являются наиболее предпочтительными с точки зрения надежного программирования?
- # Какие из приведенных ниже отрывков программ хорошо структурированы?1) procedure step(v,k: byte; r: longint); var j: byte; begin if r < min then if k = N-1 then min:= r else for j:= 1 to N do if (sm[v,j]<>0)and(mark[j]=0) then begin mark[j]:= 1; step(j,k+1,r+sm[v,j]); mark[j]:= 0 end; end; 2) for i:= 1 to N-1 do begin for x:= 1 to N do if (sm[last,x]<>0)and(not done[x]) then dist[x]:= min(dist[x],dist[last]+sm[last,x]); min_dist:= MaxLongInt; for x:= 1 to N do if (not done[x])and(min>dist[x]) then begin min_dist:= dist[x]; last:= x; end; done[last]:= true; end; 3) while head<>nil do begin with head^.e^ do if from^.dist+len < toward^.dist then begin toward^.dist:= from^.dist + len; enqueue(toward,queue,head); end; next_head:= head ^.next; dispose(head); head:= next_head end; 4) procedure infix(var p: ukaz); begin read(c); case c of '(' : begin new(p); infix(p^.left) end; '+','-',*','/' : begin p^.symbol:= c; infix(p^.right) end; ')' : {ничего не делаем}; else begin p^.symbol:= c; p^.right:= nil; p^.left:= nil; end; end; end;
- # Какие значения будет принимать переменная z, в зависимости от значений переменной а? z:= -10; if a>0 then if a>100 then if a>200 then z:=0 else z:= 20 else z:=100;
- # Какие значения будет принимать переменная z, в зависимости от значений переменной а? z:= -1; if a<100 then if a<10 then if a<1 then z:=0 else z:= 10 else z:= 100;