Вниз  Pascal
- 30.12.2013 / 23:13
Virus-ON
  Пользователь

Virus-ON 
Сейчас: Offline
vl@volk, Канвас это холст.
Только crt, только хардкор :gg:
- 30.12.2013 / 23:21
ВитаминКО
  Супермодератор

ВитаминКО 
Сейчас: Offline
DrawText :gg:
__________________
 わからない!!
- 30.12.2013 / 23:27
SeTSeR
  Пользователь

SeTSeR 
Сейчас: Offline
samodelkin, заюзав ассемблерные ставки :hack:
- 16.01.2014 / 23:08
ВитаминКО
  Супермодератор

ВитаминКО 
Сейчас: Offline
Составить программу нахождения заданного значения в отсортированном по возрастанию символьном массиве из N элементов методом двоичного поиска. Программа должна работать и в случае, когда есть несколько одинаковых элементов. В результате работы программы должны выводиться порядковые номера найденных значений. что тут делать нужно? :gg:
__________________
 わからない!!
- 16.01.2014 / 23:20
Xamgore
  Модератор форума

Xamgore 
Сейчас: Offline
ВитаминКО, что смущает? Бинарный поиск, массив символов, или что?
- 17.01.2014 / 03:11
ВитаминКО
  Супермодератор

ВитаминКО 
Сейчас: Offline
Бинарный поиск. Я так понимаю, это связанно с методом половинного деления, так?

Мне в общем то нужно в код оформить, ничего сообразить не могу, так то просто вроде, чувствую, но не могу пока что
__________________
 わからない!!
- 17.01.2014 / 11:12
Xamgore
  Модератор форума

Xamgore 
Сейчас: Offline
ВитаминКО, бинарный поиск собственно говоря вот:
(прочая хурма с массивами)
  1. function BinarySearch(a: array of integer; x: integer): integer;
  2. begin
  3.   var k: integer;
  4.   var i := 0;
  5.   var j := a.Length - 1;
  6.   repeat
  7.     k := (i + j) div 2; // Тут может случиться переполнение
  8.     if x > a[k] then
  9.       i := k + 1;
  10.     else
  11.       j := k - 1;
  12.   until (a[k] = x) or (i > j);
  13.   if a[k] = x then
  14.     Result := k
  15.   else
  16.     Result := -1;
  17. end;
Для ознакомления обязательно прочитать вики: http://ru.wikipedia.org/wiki/%...BE%D0%B8%D1%81%D0%BA
И неплохо разобраться со следующей статьей: http://habrahabr.ru/post/146228/
- 17.01.2014 / 13:34
ВитаминКО
  Супермодератор

ВитаминКО 
Сейчас: Offline
Xamgore, спасибо, посмотрю
__________________
 わからない!!
- 17.01.2014 / 18:23
ВитаминКО
  Супермодератор

ВитаминКО 
Сейчас: Offline
Ничего не понял..
__________________
 わからない!!
- 18.01.2014 / 00:48
Xamgore
  Модератор форума

Xamgore 
Сейчас: Offline
ВитаминКО (17.01.2014/18:23)
Ничего не понял..
Что значит ничего? Есть отсортированный массив. Левая правая границы. Смотрим в середину: если это искомый элемент, выходим. Иначе если значение в середине меньше/больше искомого, переставляем меньшую/большую границу в середину и продолжаем поиск.

Это и есть принцип "разделяй и властвуй". Ты разделил массив на две части, покумекал, которая из них тебе нужна и стал работать с нужной частью.

O(N) — обычный поиск, когда сложность бинарного поиска.. O(log2(N)). То есть гораздо лучше.
Наверх  Всего сообщений: 540
Фильтровать сообщения
Поиск по теме
Файлы топика (22)