Структура данных плеккс

  • Автор темы Виталий
  • Дата начала
В

Виталий

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

rrrFer

Где ты нашел это слово?
Как так "возникла необходимость, но не знаю в чем именно"? - у меня так ни разу не было ))
 
В

Виталий

То и значит, учусь в универе получил задачу на построить программу со структурой на основе 4-х связного плекса с шейкерной сортировкой....
 
R

rrrFer

Гугл знает что только твой преподаватель знает что такое "плекс". По крайней мере мне он вывалил список вопросов с 2008 года с именно такими формулировками. Ни в одной книге такого термина я не видел (и судя по ответам, никто не видел).

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

Я бы упаковал в тор и как-нибудь унизил бы подлого препода, потому что нефиг свои термины придумывать и студентам ими мозги засирать.

Соотстветственно, я ответил на твой вопрос вроде бы. Теперь прошу тебя узнать у препода в какой книге он видел такой термин (мне просто интересно) и скажи мне сколько ему лет (потому что тоже интересно).

С другой стороны, я понятия не имею как можно такую структуру сортировать шейкерной сортировкой.
 
В

Виталий

Ей 30 или более, а спросить проблемнее я заочник*(
 
R

rrrFer

Я бы делал так.
C++:
struct node {
  node *left, *right, *up, *down;
  int data;
};

Это узел. Первая задача - упаковать данные в такую штуку.
Я понятия не имею как это хочет видеть препод.
Видимо должен получиться тор, но куда добавлять очередной элемент я не знаю.
Видимо, один из элементов тора должен быть выделен как начальный.
Возможно при добавлении элемента надо использовать поиск в ширину чтобы искать свободное место, а если его нет - добавлять в тор строку или столбец (по какому принципу? - знает только препод)

Ну а сама сортировка будет тривиальной. Шейкерная сортировка - это двуходовая сортировка пузырьком и твоем случае она останется такой, но сравнивать придется не 3 элемента, а пять.

Больше вопросов вызывает то, что именно понимается под сортировкой в этом случае.
У тебя есть 4 ссылки и значение внутри. Минимальное значение должно быть слева или сверху? я не знаю, знает только препод.
 
В

Виталий

Я думаю если плекс на основе списка то сортировка будет по 1 из каких-либо значений, но для большего уточнения придется ползти в универ.
ДА и что такое шейкерная сортировка я уже разобрался, осталось только понять что понимается под плексом, продумать структуру в этот список потому что по заданию там ФИО и прочая лабуда
 
V

vital

Гугл знает что только твой преподаватель знает что такое "плекс".
Плекс - Органи́ческое стекло́ (оргстекло́), или полиметилмет (ПММА) — синтетический , прозрачный , продаваемый под торговыми марками плексиглас, ОСТ Карбогласс, новаттро, плексима, лимакрил, перспекс, плазкрил, акрилекс, акрилайт, акрипласт и др., также известный под названием акриловое стекло, акрил, плекс.

Я даже затрудняюсь это как-то прокомментировать. Преподаватели сам не понимают что несут. Такое и обучение. Грустно это.
 
В

Виталий

Завтра выясню что такое плеск, и форум тоже будет знать об этом чуднейшем термине xD
 
V

vital

Вот что нашел еще:

Оттуда:
A plex (derived from plexus meaning any complex structure containing an intricate network of interrelated parts) consists of a set of elements called beads, where each element is an N-word vector of computer storage. This N-word block is broken down into a set of fields containing information or alternatively pointers to other beads.
The plex is a fairly natural structure for representing trees and directed graphs in a computer.
Попросите так между делом объяснить преподавателя различие между плексом и деревом :) Посмотрите понимает ли она сама что говорит)
screen.png


Что правда не отвечает на вопрос, что из этого и как шейкерно сортировать.
 
V

vital

Ну и вот, в завершение:

43.Определение плекса и его общие признаки

В общем случае возможно создание многосвязного списка, каждый элемент которого может содержать К полей (К = 2, 3, 4 …) структурных указателей. Как показывают логические структуры нелинейных связных списков, изображенные на рисунках 7.10 7.12, многосвязный список как бы «прошит» в разных направлениях многими указателями. Поэтому такие списки называют прошитыми списками или плексами (plexus сплетение, переплетение).

Сформулируем общие признаки плексов:

все элементы такой структуры содержат одинаковое количество полей структурных указателей, число которых Кстепень связности является важной характеристикой структуры;

не обязательно, чтобы каждый элемент общей структуры входил во все К цепных списков одновременно;

каждый отдельный список, организованный с помощью одной и той же ссылки, поле для которой имеется во всех элементах, является односвязным цепным, а значит и линейным списком, если не принимать во внимание другие связи;

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

вся структура в целом не линейна, поскольку, если учитывать все связки, для каждого элемента не может быть определен единственный элемент-предшественник и единственный элемент-последователь.
[DOUBLEPOST=1424279072,1424278892][/DOUBLEPOST]Короче плекс, это грубо говоря список у которого N связей от каждой ноды. Он же многосвязный список, как его называют по русски :)
 
R

rrrFer

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

Если первая ссылка хоть как-то внушала доверия (пусть совсем мало), то вторая - вообще нисколько не убедила.

Поэтому такие списки называют прошитыми списками или плексами
Кто их так называет? - я вот читал Макконелла, читал Скиену, листал Вирта. Все три автора заморские и я не видел у них термина "плекс".

Пусть даже это многосвязный список (я описывал выше так). Четырехсвязный - это фактически таблица. Вот я хочу добавить элемент в него, куда он добавится? - может добавиться как новая строка, так и новый столбец.

Или это таблица фиксированного размера? - тогда в чем там профит списков вообще?
 
R

rrrFer

Твоя цитата про плексы со второй ссылки взята отсюда:
Белорусский национальный технический университет
Структуры и алгоритмы обработки данных
Учебное пособие по дисциплине
«Структуры и алгоритмы обработки данных»
А. В. Романов
Т.е. это написал некий препод, скорее всего именно он и выдал задания студентам.

Первая ссылка нормальная, адекватный сайт. Может быть забугром такой термин и используется, а у Скиены я его не видел потому, что переводчики заменяют его?

В любом случае, термин в методичке используется неправильно. Преподу двойка и в деканат с родителями :)

А то, что у ТС ведет не Романов, а какая-то девченка 30 лет - ничего не значит. У нас в этом году появился препод - девченка 21 года, жаловалась что студенты слишком умные, "их нечему учить". И это не шутка.
 
V

vital

Выше ты писал что плекс - это дерево
я написал, что дерево является подвидом скорее плекса, как-то так.
Кто их так называет?
Т.е. это написал некий препод, скорее всего именно он и выдал задания студентам
Именно так.

Преподу двойка и в деканат с родителями
Именно так :) Часто встречаю людей, к-е стараются казаться как можно более умными и используют много умных слов значения которых не понимают до конца. Печально, если такие стали предподаватели.

а список (скольки бы связным он не был) - линейная структура.
Ну как раз если верить той самой методичке, то мол 2-3-4-N связные списки могут быть не линейными.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
471
ОФФ: тег "задачи" очень общий - может удалить его?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!