Я наконец закончил первую статью из своего планируемого цикла статей для погромистов и не только.
В ней я подробно разобрал, что такое «бинарный поиск» и как оно работает — с картинками, блок-схемами и так далее, а также написал пример его реализации на Golang.
Полностью копировать сюда всю статью не стану, но покажу пару ее частей. Например, блок-схема бинарного поиска выглядит так:
![[Изображение: binary_poisk_block-scheme.png]](https://blog.zhbert.ru/wp-content/uploads/2022/08/binary_poisk_block-scheme.png)
В статье подробно рассмотрен принцип действия этого алгоритма и обоснована его необходимость как такового. За подробностями добро пожаловать на страничку статьи на моем блоге. Комментариям и прочему буду рад и там, и тут.
В ней я подробно разобрал, что такое «бинарный поиск» и как оно работает — с картинками, блок-схемами и так далее, а также написал пример его реализации на Golang.
Полностью копировать сюда всю статью не стану, но покажу пару ее частей. Например, блок-схема бинарного поиска выглядит так:
![[Изображение: binary_poisk_block-scheme.png]](https://blog.zhbert.ru/wp-content/uploads/2022/08/binary_poisk_block-scheme.png)
А его полная реализация на Go так:
Код:
package main
import (
"fmt"
"strconv"
)
func main() {
var elems, lookingFor int
fmt.Print("Number of elements? ")
fmt.Scan(&elems)
var array = make([]int, elems)
fmt.Print("Generated array: ")
for i := 0; i < elems; i++ {
array[i] = i
fmt.Print(strconv.Itoa(i) + " ")
}
fmt.Println()
fmt.Println("What are we looking for:")
fmt.Scan(&lookingFor)
var assumption, result = binarySearch(&array, lookingFor)
if result {
fmt.Println("Found: " + strconv.Itoa(assumption))
} else {
fmt.Println("Nothing found!")
}
}
func binarySearch(array *[]int, lookingFor int) (int, bool) {
fmt.Println("Looking for...")
var mid, assumption int
min := 0
high := len(*array) - 1
for min <= high {
mid = (min + high) / 2
assumption = mid
if assumption == lookingFor {
return assumption, true
}
if assumption > lookingFor {
high = mid - 1
} else {
min = mid + 1
}
}
return 0, false
}
В статье подробно рассмотрен принцип действия этого алгоритма и обоснована его необходимость как такового. За подробностями добро пожаловать на страничку статьи на моем блоге. Комментариям и прочему буду рад и там, и тут.
15.08.2022 19:Aug
Хм, а почему бы не опубликовать весь текст на биндев и внизу указать ссылку?
15.08.2022 19:Aug
Это самореклама?
Публикуйте хотя-бы до середины, чтоб интригу оставить и захотелось перейти в Ваш блог.
обрезать на самом начале - уже не интересно, да и не уважительно к читателям. Не на "Швабре" же, да и там полные посты публикуют всегда.
Публикуйте хотя-бы до середины, чтоб интригу оставить и захотелось перейти в Ваш блог.
обрезать на самом начале - уже не интересно, да и не уважительно к читателям. Не на "Швабре" же, да и там полные посты публикуют всегда.
15.08.2022 19:Aug
(15.08.2022 19:Aug)doesm Написал: обрезать на самом начале - уже не интересноПоддерживаю. В данном виде пост даже не интригует, чтобы перейти по ссылке. Это больше тянет на "список интересных статей", состоящий из одного элемента. @Zhbert, хоть бы интригу создал, что ли. ☺
• Правила форума
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
16.08.2022 09:Aug
(15.08.2022 19:Aug)doesnm Написал: Хм, а почему бы не опубликовать весь текст на биндев и внизу указать ссылку?
С точки зрения SEO один и тот же текст постить на двух площадках — очень нехорошо. Снижает рейтинг в поиске и вообще может кучку проблем создать. Поэтому полное копирование текста не вариант. Да и во второй раз мне было бы лень все заново оформлять, т.к. при копировании форматирование слетело бы стопудово.
(15.08.2022 19:Aug)mord0d Написал: Поддерживаю. В данном виде пост даже не интригует, чтобы перейти по ссылке. Это больше тянет на "список интересных статей", состоящий из одного элемента. @Zhbert, хоть бы интригу создал, что ли. ☺
Мы вроде в чатике пару недель назад обсуждали, что вариант с ссылкой на оригинал будет норм.
Окей, больше не буду сюда приносить свои статьи.
16.08.2022 10:Aug
Да ладно, нормально. Тем более что в статье по ссылке есть ссылка на форум.
Пусть будет.
Пусть будет.
It's time to kick gum and chew ass. And i'm all out of ass.
16.08.2022 10:Aug
Кстати, по поводу копирования текстов еще. На крупных площадках с модерацией, например, на «Типичном Программисте» или на зарубежном "Better Programming", есть требование уникальности текста на 80% минимум, это проверяется перед публикацией на стадии модерации. Говорю по опыту — пока на Тпрогера оформлял статью, задолбался переписывать самого себя, потому что части стать гуглились с меня на Хабре.
16.08.2022 12:Aug
аа
(16.08.2022 09:Aug)Zhbert Написал: Мы вроде в чатике пару недель назад обсуждали, что вариант с ссылкой на оригинал будет норм.Не-не-не, ты не понял посыла. Я не предлагаю выкладывать полностью (всё же это твоя статья), но заинтересуй посетителя этого треда пройти по ссылке. Не обязательно скопировав больший кусок статьи, добавь сюда от себя что-нибудь, что даст понять что по ссылке интересно/полезно/котики. ☺
Окей, больше не буду сюда приносить свои статьи.
• Правила форума
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
16.08.2022 14:Aug
(16.08.2022 12:Aug)mord0d Написал: аа
(16.08.2022 09:Aug)Zhbert Написал: Мы вроде в чатике пару недель назад обсуждали, что вариант с ссылкой на оригинал будет норм.Не-не-не, ты не понял посыла. Я не предлагаю выкладывать полностью (всё же это твоя статья), но заинтересуй посетителя этого треда пройти по ссылке. Не обязательно скопировав больший кусок статьи, добавь сюда от себя что-нибудь, что даст понять что по ссылке интересно/полезно/котики. ☺
Окей, больше не буду сюда приносить свои статьи.
Так норм?

16.08.2022 16:Aug
(16.08.2022 14:Aug)Zhbert Написал:(16.08.2022 12:Aug)mord0d Написал: аа
(16.08.2022 09:Aug)Zhbert Написал: Мы вроде в чатике пару недель назад обсуждали, что вариант с ссылкой на оригинал будет норм.Не-не-не, ты не понял посыла. Я не предлагаю выкладывать полностью (всё же это твоя статья), но заинтересуй посетителя этого треда пройти по ссылке. Не обязательно скопировав больший кусок статьи, добавь сюда от себя что-нибудь, что даст понять что по ссылке интересно/полезно/котики. ☺
Окей, больше не буду сюда приносить свои статьи.
Так норм?
Агонь! Пошёл читать (заодно узнаю почему выбран именно Go). :3
• Правила форума
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
(16.08.2022 16:Aug)mord0d Написал: Агонь!
Ну тогда и следующие так же принесу

(16.08.2022 16:Aug)mord0d Написал: заодно узнаю почему выбран именно Go
Та все просто — я щас больше на нем пишу, чем на Java. А произошло это, потому что у нас все на Go, и странно было бы тащить туда и Java еще.
Но, кстати, он мне больше импонирует как-то. Хотя бы тем, что собирается в один бинарник как сишка, а не требует еще и джавамашин всяких.
Возможно похожие темы ...
Тема
Автор
/
Последний пост
Пользователи, просматривающие эту тему: 1 Гость(ей)