Линейный связанный список - действительная / общая терминология? - PullRequest
6 голосов
/ 07 июля 2010

Является ли речь о линейно связанном связанном в отличие от кругового связного списка действительным / общим термином? Для некоторых примеров, которые я отправляю своим ученикам, мне нужно различать оба и не хочу использовать термины, которые на самом деле не существуют!

Ответы [ 5 ]

4 голосов
/ 07 июля 2010

Я бы просто назвал их "некруглыми".

Просто для справки, Лисп определяет "правильные списки" как списки, которые заканчиваются пустым списком. «Неправильными» списками могут быть «круглые списки» или «точечные списки» (списки, которые не заканчиваются пустым списком, а каким-то другим атомом).

4 голосов
/ 07 июля 2010

Я бы сказал, линейный или открытый связанные списки являются допустимыми терминами, однако я слышал, что они упоминались только в контексте, где их следует явно отличать от круговых связанных списков, в противном«связанный список» без какого-либо другого классификатора считается линейным.

1 голос
/ 20 июля 2010

Используемые вами термины «циклический» и «ациклический» применяются ко всем структурам данных графа. Как упомянул @Svante, иногда вы увидите «правильное», «неправильное» и «круглое».

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

В конечном счете, если ваши ученики достаточно взрослые, предпочтение отдается «циклическому» и «ациклическому», поскольку ваши студенты снова будут соответствовать этим условиям при обобщении из списков в деревья, в группы DAG и в графики.

1 голос
/ 08 июля 2010

Я называю их

1) Односвязный список [1]->[2]->NULL

2) Двусвязный список NULL<-[1]<=>[2]<=>[3]->NULL

3) Круговой связанный список [1]->[2]->[1]

Затем вы можете использовать эту комбинацию для составления собственных терминов.Однако описания проблемы или объяснение проблемы прояснят фактическое значение терминов, если возникнут какие-либо сомнения.

1 голос
/ 07 июля 2010

Я называю эти «односвязные списки», хотя обычно они просто отличают их от «двусвязных списков». Круговой связанный список может быть либо односвязным, либо двусвязным, так что технически он не различает их. Однако я не думаю, что когда-либо слышал о том, чтобы кто-то ссылался на круговой связанный список под каким-либо другим именем (за исключением, возможно, дополнительных квантификаторов, т.е. кругового двусвязного списка).

...