B-дерево

B‐дерево (произносится «би дерево») - это вид деревьев, который гарантирует полную балансировку. Не стоит путать его с бинарными деревьями, так как он с ними не имеет ничего общего.
В этом видео уроке я обсуждаю, что такое B‐дерево и как работает алгоритм добавления данных в него. Как пример я обсуждаю дерево с M=4, также известное как дерево 2‐3‐4.

Пікірлер: 136

  • @user-bu1jo5kn4x
    @user-bu1jo5kn4x4 жыл бұрын

    Ты самый умный и уграный священник из всех, кого я видел)

  • @wani4kaa
    @wani4kaa Жыл бұрын

    Очень рад, что несмотря все виды горя, которые автору довелось пережить за эти 25 минут, на доске все еще оставалось Би-дерево

  • @user-ee2cp5ex4i
    @user-ee2cp5ex4i2 жыл бұрын

    Вот к таким священникам надо на службу ходить. Спасибо вам . Очень доходчиво и понятно.

  • @nikolailalai
    @nikolailalai4 жыл бұрын

    "Обычно у нас деревья растут сверху вниз... .... ... Не говорите биологам!" :D

  • @unsub8584
    @unsub858410 ай бұрын

    Иисус лично решил спуститься с небес, что б пояснить за B деревья... Воистину лучший

  • @TheRockmannn
    @TheRockmannn2 жыл бұрын

    Пользуюсь вашими видео, каждый раз когда готовлюсь к собеседованиям, спасибо за труд!

  • @sofiiatymosheva6075
    @sofiiatymosheva60756 ай бұрын

    Дай Бог Вам здоровья, мне так понравилось ваше объяснение. Вы умничка спасибо Вам большое, Вы очень помогли

  • @user-rc2pp7cb6x
    @user-rc2pp7cb6x7 жыл бұрын

    Спасибо Вам огромное, Владимир, за такое доходчивое объяснение темы!

  • @andyanderson222
    @andyanderson2222 жыл бұрын

    Лучшее объяснение этой темы из всех, что я видел. Большое спасибо, очень нравится Ваш канал. Очень качественные объяснения, да и просто приятно смотреть)

  • @user-em8kv7ms3z
    @user-em8kv7ms3z6 жыл бұрын

    Владимир спасибо Вам за ваши лекции по алгоритмам и структурам данных. Очень приятно,в красках, доходчиво преподносите материал! Успехов Вам и развития!)

  • @user-yk7kt1tz5n
    @user-yk7kt1tz5n3 жыл бұрын

    Мне кажется, что надо назвать твой канал: IT-Иисус. Это будет полностью соответствовать, т.к объясняешь ты, как боженька и очень похож на него)

  • @canniballissimo

    @canniballissimo

    2 жыл бұрын

    особенно учитывая, что к середине я понял о чём речь, не смотря предыдущие ролики и будучи вообще не в теме ):

  • @AZart-infa

    @AZart-infa

    Жыл бұрын

    И положил он байты с битами по благой последовательности их, и приходили люди, и уверовали онлайн, и святость айтишная воцарилась в душах их, и кодили во славу цифровую до апгрейда их, и никакой баг не поразил их боле, ибо благословенны деяния их.

  • @ascar66
    @ascar664 жыл бұрын

    Добрый день! Благодарю Вас что записали это видео

  • @victorklimov5254
    @victorklimov52546 жыл бұрын

    Спасибо, Володя, за лекцию!

  • @KonstantinGanchin
    @KonstantinGanchin9 жыл бұрын

    Отличное объяснение! Этим и отличается хороший учитель: простым и доходчивым языком донести сложную тему! Спасибо! Ещё было бы здорово сравнить с B+ деревом, чтобы не путать их. Ведь B+ дерево тоже относится к сбалансированным, но имеет свои нюансы.

  • @prosto10ia74
    @prosto10ia746 ай бұрын

    Бро это лучшее видео п о структурам данных которое я видел, большое человеческое спасибо

  • @ALEX-yq7qs
    @ALEX-yq7qs Жыл бұрын

    Спасибо за информативное и интересное видео!

  • @klipaklip4344
    @klipaklip43448 жыл бұрын

    Жаль не рассказал про удаление ключа

  • @user-yn7ec8nm3i
    @user-yn7ec8nm3i5 ай бұрын

    Лучших объяснений не видел

  • @Enthusiast91
    @Enthusiast914 жыл бұрын

    Идеально!!! Все просто и понятно , спасибо!!

  • @thetruthsofcivilizations6727
    @thetruthsofcivilizations67272 жыл бұрын

    Спасибо, Владимир. Вы наш Павел Флоренский.

  • @SergeiShaikin
    @SergeiShaikin10 жыл бұрын

    Огромное, огромное и еще раз огромное спасибо!!! Очень помогло!!!

  • @rendi5799
    @rendi57997 ай бұрын

    Довольно страстное и выразительное изложение. Лайк

  • @user-rv6ct6lt6n
    @user-rv6ct6lt6n4 жыл бұрын

    Спасибо за лекцию.

  • @aleksandrkravtsov8727
    @aleksandrkravtsov87274 жыл бұрын

    классно! наглядно понятно и с примером!

  • @prayer4675
    @prayer4675 Жыл бұрын

    Из всего найденого в ютубе это видео самое доходчивое.

  • @nikolay4362
    @nikolay43626 ай бұрын

    бро, очень круто объяснл, от души спасибо

  • @vladimirinoz
    @vladimirinoz5 жыл бұрын

    Очень хорошо объяснено!

  • @YaKiolk1
    @YaKiolk15 жыл бұрын

    Спасибо за отличное видео.

  • @user-ni9tf5yr6m
    @user-ni9tf5yr6m2 жыл бұрын

    Как чётко.. каждое слово в душу...

  • @DeerRadio
    @DeerRadio9 жыл бұрын

    Как обычно от нечего делать хотел оставить какой-нибудь язвительный комментарий в интернете, сделав это под видео. Но посмотрел все видео, - действительно классное объяснение, понял многие моменты работы B-деревьев (я не ходил в университет полтора года из-за работы и пропустил эту тему). Очень понравилось, круто, спасибо :)

  • @DeerRadio

    @DeerRadio

    9 жыл бұрын

    Я еще диплом пишу, про самообучающуюся модель для 2d real-time игры с видом сверху; Вот, я вообще нейронные сети использовал, но неделю назад посетила идея попробовать сделать обучение и хранение знаний в дереве. Т.е. подается какой-то вектор состояний системы, которые вычисляет бот, на B-дерево знаний; Там по некоторым формулам идет приблизительный поиск подобного вектора в дереве; Если такой есть, то выполняются действия по закону, описанному в найденной ноде. Если нода с таким вектором не найдена, то ожидаем результата действия (т.е., "встретить лицом снаряд танка", игра про танчики :D). Если результат негативный для бота, то в ноде это отражается как-то. Если положительный, то увеличивается. Короче, я еще не реализовывал, т.к. нейронки мучаю Как думаете, стоит ли издеваться над B-деревом таким способом?:) Или нейронные сети реализуют то же самое, но лучше в моей задаче?

  • @VladimirMozhenkov

    @VladimirMozhenkov

    9 жыл бұрын

    Forged Spirit Ну нейронной сети всё равно где информация хранится. Можно делать и в B-дереве, алгоритму ведь будет всё равно. Тут более, как мне кажется, интересна будет сама функция обучения. Определить хорошо/плохо будет легко, а вот дать достаточное количество вводов, и затем прогнать достаточное количество раз... Хотя если вы делаете оба танка автоматическими и они начинают биться против друг друга, то второй вопрос решается. А по поводу первого, тут наверно проще просто экспериментально посмотреть.

  • @user-nu5np5oy3k
    @user-nu5np5oy3k10 жыл бұрын

    Здравствуйте. Вы очень хоршо и доходчиво объясняите. Мне кажется или на 15 минуте вы "16" подвинули вверх, но 48 так и не добавили? Или я что то не так понял? А так спасибо Вам большое, был бы рад если бы вы продолжали и разобрали к примеру красно-черное дерево=)

  • @pyramidhead9692

    @pyramidhead9692

    2 жыл бұрын

    А вот вопрос кстати очень интересный. Потому что он по идее того должен был поменять местами 23 и 43, так как нода получалась не сортированной.

  • @user-jn6tc3qe1h

    @user-jn6tc3qe1h

    Жыл бұрын

    @@pyramidhead9692 48 просто запишется правее 23, так же как записывались 13 и 5 в самом начале.

  • @ibakanev
    @ibakanev Жыл бұрын

    Мужик, ты очень крут! Спасибо большое!

  • @aidamur
    @aidamur Жыл бұрын

    "не говорите биологам" в голос. однозначно лайк

  • @alexgorbel9072
    @alexgorbel90727 жыл бұрын

    Отличное видео, спасибо

  • @DennisTurbay
    @DennisTurbay8 жыл бұрын

    Спасибо, классное видео!

  • @gpankov
    @gpankov Жыл бұрын

    "Обычно у нас растут деревья сверху вниз"... далее лицо Володи....

  • @user-ke1se2sg2n
    @user-ke1se2sg2n10 жыл бұрын

    Отлично объяснил! Спасибо огромное)

  • @VladimirMozhenkov

    @VladimirMozhenkov

    10 жыл бұрын

    Очень рад, что помог. Это весьма сложная структура, мне понадобилось очень много времени для выяснения сути происходящего. Обычно всё объясняют математически, и приходится очень долго вникать, чтобы понять весьма простые вещи.

  • @user-ke1se2sg2n

    @user-ke1se2sg2n

    10 жыл бұрын

    Это точно, уж очень бывает перегибают. www.cs.usfca.edu/~galles/visualization/Algorithms.html Тут хорошо интерактивно можно въехать в суть, но блин без понятной теории это тоже тяжело даётся:)

  • @mschief4867
    @mschief48673 жыл бұрын

    Thanks, Jesus, very informative !

  • @sergeyshevchenko3646
    @sergeyshevchenko36464 жыл бұрын

    Разжевал, так разжевал! Спасибо тебе мужик!

  • @user-nt1hm1us5k
    @user-nt1hm1us5k Жыл бұрын

    Так бы в универе преподавали. Спасибо огромное!

  • @user-ic7pb4kj9p
    @user-ic7pb4kj9p4 жыл бұрын

    Спасибо огромное!!!

  • @dmitryspiridonov9607
    @dmitryspiridonov96078 жыл бұрын

    Благодарю!

  • @user-qh7oi4sd2z
    @user-qh7oi4sd2z10 жыл бұрын

    Спасибо! Помогло.

  • @Strakhov_Ivan
    @Strakhov_Ivan6 жыл бұрын

    Спасибо, Владимир, все доходчиво и понятно на примере. Про 48 все ясно - оно максимально и роли не играет, нечаянно пропустили. Возник другой вопрос - Вы говорите, что при M=2 дерево будет бинарным. Если не изменяет память, то в бинарном дереве количество потомков НЕ БОЛЕЕ двух, т.е. включая 1. Но ведь это не верно для B-деревьев при M=2? Или я что-то напутал?

  • @user-fn4jz7sr5h
    @user-fn4jz7sr5h9 жыл бұрын

    Спасибо!

  • @thetruthsofcivilizations6727
    @thetruthsofcivilizations67272 жыл бұрын

    Пожелание - очень хочется понять знания из области аналитической механики. Спасибо!

  • @user-fi8jf5kj8b
    @user-fi8jf5kj8b8 жыл бұрын

    а где делось число 48?

  • @user-wb5dh1ps4x

    @user-wb5dh1ps4x

    5 жыл бұрын

    проебали

  • @yarikleto5515
    @yarikleto55152 жыл бұрын

    шикарно обьяснил

  • @ymb_812
    @ymb_812 Жыл бұрын

    спасибо большое

  • @goorn4489
    @goorn44897 ай бұрын

    Спасибо, отец

  • @nurzhanamantay8729
    @nurzhanamantay87297 жыл бұрын

    Благодарю

  • @-MaCkRage-
    @-MaCkRage- Жыл бұрын

    Когда смотришь видео айти-батюшки 8-летней давности... Без шуток,объяснятешь ты как боженька)

  • @user-ou3jn8lt3d
    @user-ou3jn8lt3d Жыл бұрын

    Хорошо объяснил, очень доходчиво! Но, не лишним было бы рассказать и про удаление элементов, доступ к элементам.

  • @olsuhvlad
    @olsuhvlad Жыл бұрын

    1 Так говорит Господь: небо - престол Мой, а земля - подножие ног Моих; где же построите вы дом для Меня, и где место покоя Моего? 2 Ибо все это соделала рука Моя, и все сие было, говорит Господь. А вот на кого Я ПРИЗРЮ: на смиренного и сокрушенного духом и на трепещущего пред словом Моим. 3 Заколающий вола - то же, что убивающий человека; приносящий агнца в жертву - то же, что задушающий пса; приносящий семидал - то же, что приносящий свиную кровь; воскуряющий фимиам - то же, что МОЛЯЩИЙСЯ ИДОЛУ; И КАК ОНИ ИЗБРАЛИ СОБСТВЕННЫЕ СВОИ ПУТИ, И ДУША ИХ НАХОДИТ УДОВОЛЬСТВИЕ В МЕРЗОСТЯХ ИХ, - 4 так и Я употреблю их обольщение и НАВЕДУ НА НИХ УЖАСНОЕ ДЛЯ НИХ: потому что Я звал, и не было отвечающего, говорил, и они не слушали, а ДЕЛАЛИ ЗЛОЕ В ОЧАХ Моих и избирали то, что неугодно Мне. 5 Выслушайте слово Господа, трепещущие пред словом Его: ваши братья, ненавидящие вас и изгоняющие вас за имя Мое, говорят: "пусть явит Себя в славе Господь, и мы посмотрим на веселие ваше". Но ОНИ БУДУТ ПОСТЫЖЕНЫ. (Ис.66:1-5)

  • @marknezamov310
    @marknezamov3106 жыл бұрын

    А что по поводу удаления из B-дерева?

  • @maxim-banaev
    @maxim-banaev10 жыл бұрын

    Спасибо за экскурс по b-деревьям. Но как же удалять элементы из b-деревьев?

  • @PoletaevRoman

    @PoletaevRoman

    3 жыл бұрын

    Если нужно удалить, то горе нам!

  • @TheSemgold

    @TheSemgold

    3 жыл бұрын

    Там нужно у правых сыновей красть по ситуации.

  • @baron2272
    @baron22726 ай бұрын

    Хотелось бы предварительно осветить понятия бинарного дерева и нода, а потом уже переходить к B-деревьям. Излагаете хорошо.

  • @pocikprostoi7172
    @pocikprostoi7172 Жыл бұрын

    Огонь чувак

  • @tumenit
    @tumenit7 ай бұрын

    Подписался!

  • @user-ty5td7ex6e
    @user-ty5td7ex6e4 жыл бұрын

    Спасибо

  • @lisijuke
    @lisijuke7 жыл бұрын

    Насчет числа 48, это он случайно пропустил :) Просто представьте, что мы провернули все это для числа 15, то есть наша последовательность выглядит так: 8,13,5,0,16,7,23,15, суть от этого не меняется.

  • @eugenepashkevich5725
    @eugenepashkevich57258 жыл бұрын

    Володя, спасибо за объяснение! Скажите пожалуйста, а не могли бы вы объяснить как работают B+ деревья? Благодарю.

  • @VladimirMozhenkov

    @VladimirMozhenkov

    8 жыл бұрын

    +Eugene Pashkevich С ними не работал, но может узнаю и запишу если будет муза )))

  • @YanPashkovsky
    @YanPashkovsky8 жыл бұрын

    Владимир, напишите в комментарии куда вы 48 вставили!

  • @mandesseye
    @mandesseye4 жыл бұрын

    Снял бы для полноты картины и про Dancing tree

  • @KhazanViktor
    @KhazanViktor4 жыл бұрын

    Спасибо завашу работу. У меня один вопрос. Вы говорили про то, что указаталей может быть либо 0, либо 6. Что имело ввиду, так как по факту вы показали иначе. Спасибо!

  • @gogol-mogol779

    @gogol-mogol779

    4 жыл бұрын

    Я это понял иначе. Если у тебя есть блок с 5 значениями, то на следующем уровне у тебя будет либо 0 нод либо 6

  • @user-wv4cz4ls4l
    @user-wv4cz4ls4l2 жыл бұрын

    При разрыве берётся центральное или среднее? Просто если есть 2 ключа, то и центрального там не будет

  • @user-bi1ll1wy2m
    @user-bi1ll1wy2m3 жыл бұрын

    Гений!

  • @yauhenineshyn1019
    @yauhenineshyn10198 жыл бұрын

    Вы говорите что можно сбалансировать Btree дерево с М = 2. Но ведь для этого придется добавлять сразу по два значения в дерево. Иначе оно не будет сбалансированным. Другими словами - Btree дерево можно полностью сбалансировать только если в нем нечетное кол-во значений, я правильно понимаю?

  • @VladimirMozhenkov

    @VladimirMozhenkov

    8 жыл бұрын

    +Yauheni Neshyn Нет, оно балансируется обязательно всегда, с любым количеством значений. Вы просто сбросите одно значение из корня вниз.

  • @gaben-agent
    @gaben-agent3 жыл бұрын

    Когда мы 0 добавляли, то получается, что мы как бы не крайние элементы вниз убирали, а наоборот центральный наверх, судя по дальнейшей логике добавления.

  • @user-bi3kx5uf6d
    @user-bi3kx5uf6d2 жыл бұрын

    Где эти деревья интересно используются

  • @user-qi2yh4ke3k
    @user-qi2yh4ke3k5 ай бұрын

    Пожалуйста объясните как так получилось что если м=4 на левой стороне в самом нижнем уровне оказалось 4 нод а не 3? Ведь по правилам В деревьев должно быть не больше или равно м-1?

  • @47vint
    @47vint9 жыл бұрын

    Что насчет удаления? Будет видео?

  • @emotional_stuff
    @emotional_stuffАй бұрын

    а как смещаются элементы при m=5?

  • @evgedoo
    @evgedoo7 жыл бұрын

    А куда делось число 48?

  • @mar_kha
    @mar_kha2 жыл бұрын

    Подскажите, пожалуйста, может кто-либо знает: "Как найти элемент В-дерева, предшествующий данному ключу?"

  • @alexanderkuleshov7430
    @alexanderkuleshov74308 жыл бұрын

    Почитав несколько ресурсов про b-tree, я ни где не встречал такого обозначения как "M" (уровень). Везде (например, wiki) фигурирует некий параметр "t", от которого зависит количество ключей в ноде (при этом, в корне и в узлах, разные ограничения на количество ключей). Поясните, пожалуйста, существует ли какая-то зависимость между t и M?

  • @VladimirMozhenkov

    @VladimirMozhenkov

    8 жыл бұрын

    +Alexander Kuleshov Может это из-за того, что я постоянно на английском всё читаю. В англоязычной википедии есть m - максимальное количество дочерних узлов, но они её сделали мальнькой. en.wikipedia.org/wiki/B-tree#Definition Не стоит заострять внимание на том, какая буква используется. Можно было взять что-то из греческого, еврита, арабского, да даже кириллицы, смотря на русскую википедию мне кажется тут о том-же самом говорят. Сколько может быть "ссылок" на дочерние элементы у данного.

  • @MrGOODliker

    @MrGOODliker

    7 жыл бұрын

    Дело в том, что и в англоязычной и в русскоязычной википедии, да и в книгах с теорией о B-деревьях говорится, что если уровень дерева M, то количество ключей в узле может быть от 1 до 2*М-1. Из вашего видео ясно видно, что количество ключей в узле не превышает М-1. Тут получается расхождение, совсем разные деревья получатся... Так где же правда?:)

  • @ne_olesyna

    @ne_olesyna

    4 жыл бұрын

    @@MrGOODlikerНашел годньй пример дерева www.geeksforgeeks.org/delete-operation-in-b-tree/?ref=lbp // Allocate memory for maximum number of possible keys // and child pointers keys = new int[2*t-1]; C = new BTreeNode *[2*t]; там бьла эта строчка отсюда получаетса что t это количество значений и указателей в одном узле.

  • @logmeinish
    @logmeinish7 жыл бұрын

    Ребят, не очень понял на 8:40 - 9:00 Почему максимум может быть 4 дочерних ноды и максимум 3 значения?

  • @trell_7842

    @trell_7842

    4 жыл бұрын

    Как я понял, M=4 означает, что 4 указателя, от одного указателя 1 дочерна , поэтому и 4 дочерних. А в 4 указателя можно вписать только 3 значения, потому-что нужно, чтобы указатели окружали их с обоих сторон. Возможно уже поздно, но всё же

  • @SvyatoyVitaliy
    @SvyatoyVitaliy2 жыл бұрын

    Я не понял вот что. Индексы в оракле - сбалансированные деревья. Но какой у них тогда уровень?

  • @emotional_stuff
    @emotional_stuffАй бұрын

    пушка

  • @sanya9740
    @sanya97405 ай бұрын

    Вообще ничего не понял. Как так получается, что на верхнем уровне 3 значения, а на нижнем больше 4 нод, если сами говорили про количество значений+ 1?

  • @user-tx6qy6uj8b
    @user-tx6qy6uj8b5 жыл бұрын

    А почему вы добавили 7 именно на конец левого узла, а не в начало правого, потому что 7 ближе к 5-и чем к 13-и?

  • @user-ij3hx7qp4i

    @user-ij3hx7qp4i

    3 жыл бұрын

    Потому что в правом узле хранились значения не меньше 8

  • @helengoodify
    @helengoodify6 ай бұрын

    А все-таки, куда у вас делось число 48?

  • @user-zs5zw2ut4r
    @user-zs5zw2ut4r Жыл бұрын

    С удалением записи из узла никак разобраться не получается. Не пойму, как должна происходить балансировка

  • @marinabergner3312
    @marinabergner33129 жыл бұрын

    а 48 почему-то и не вставили

  • @savvinovan
    @savvinovan2 жыл бұрын

    забыли сказать что фактор для нижних уровней должен быть 2t-1, чтобы при разбиении в случае заполнения разбивалось на два равных ноды, и оставался один элемент для переноса вверх

  • @dizzyark9221
    @dizzyark92213 жыл бұрын

    Прошу пояснений 4.10 говорим количество нод 0 или разрядность дерева. В дальнейшем слышу может быть меньше. Противоречие

  • @user-eq2of7kp9o
    @user-eq2of7kp9o4 ай бұрын

    Если кто не знал, узлы он называет нодами(лично я не слышал про такое), иб тоже кто то затупил

  • @euwaq
    @euwaq Жыл бұрын

    а как би-дерево может быть бинарным, если в нем 2 элемента?

  • @RS-ue4wg
    @RS-ue4wg2 жыл бұрын

    Не знал, что Джаред Лето... разбирается в теории алгоритмов.

  • @alexanderpoco7411
    @alexanderpoco74112 жыл бұрын

    Хм... Всё ещё не понял что это за деревья такие, как с ними работать и как это работает в БД

  • @user-vo8dq4iz1m
    @user-vo8dq4iz1m10 жыл бұрын

    Раз уж от 63..inf в последнем диапазоне, то тогда -inf..2 в первом диапазоне =)

  • @VladimirMozhenkov

    @VladimirMozhenkov

    10 жыл бұрын

    Ну я выбирал неотрицательные числа у себя в голове... вот и отсутствие отрицательной бесконечности. Но наверно с чисто технической стороны вы совершенно правы! q;-)))=

  • @parikmaher01011988
    @parikmaher01011988Ай бұрын

    Борода потерял 48 где-то по дороге

  • @vitnixvitnix5318
    @vitnixvitnix5318 Жыл бұрын

    За всем этим весельем потеряли 48, куда его добавили то

  • @glavniikoldun
    @glavniikoldun3 жыл бұрын

    не рассказанная глава Евангелие, пишники ставьте лайк, если вы от рамона

  • @DantesioUD

    @DantesioUD

    3 жыл бұрын

    Воистину, едины в Залупиносе....

  • @kartezist
    @kartezist4 жыл бұрын

    какой ж ты волосючий:D

  • @shlm3650
    @shlm36508 жыл бұрын

    Забыл 48

  • @user-td8wt2je2h
    @user-td8wt2je2h3 жыл бұрын

    Раздражает постоянное перебирание фломастеров + это тормозит. Пожалуйста, используйте 1 цвет или хотя бы колпачок не закрывайте

  • @Bguiysigziggzog

    @Bguiysigziggzog

    2 жыл бұрын

    во наглая

  • @viv81ster
    @viv81ster2 жыл бұрын

    это беларуский акцент?

  • @VladimirMozhenkov

    @VladimirMozhenkov

    2 жыл бұрын

    У меня? На вряд-ли. Я там никогда не был. Но мне говорили люди, что моя буква "ч" очень похожа на беларусскую.

  • @petrozavodsky
    @petrozavodsky Жыл бұрын

    48 так и не добавили

  • @user-qc8we9qb3i
    @user-qc8we9qb3i5 жыл бұрын

    Ой-вэй, еврейское счастье, а как насчёт наглядного практического применения? Когда наглядно обыгрывается ситуация применения

Келесі