Operations
연결리스트,linked_list
{
node들을
포인터,pointer로 연결하며
리스트 item 하나하나마다 포인터가 들어있어서 서로 연결을....
- size() or length()
- get(i)
- set(i, value)
- add(i, value) insert??
- remove(i)
- slicing ... list slicing ... 원래 리스트에서 연속된 부분,part/subsequence(부분수열,subsequence 말고 부분열,subsequence로 할까?) 을 잘라내는? 인덱스,index를 사용해서. - 내생각임, CHK
슬라이스,slice를 만드는 슬라이싱,slicing? slice slicing slice slicing적절한 번역 없을지?
{
slice : 슬라이스 조각 부분 ... // similar: piece 부분,part // cmp: 철자가 비슷한 splice splice splice splice
slicing : 슬라이싱 조각내기 자르기 썰기 ... // see also, cmp : indexing(인덱싱,indexing?), 절단,cut, 분리,separation ... // similar: dividing/division/나누기. (sim. 나눗셈,division)
} 중에 tbd
deque | list |
add_first(x) | add(0, x) |
remove_first() | remove(0) |
add_last(x) | add(size(), x) |
remove_last() | remove(size() - 1) |
연결리스트,linked_list
{
node들을
포인터,pointer로 연결하며
리스트 item 하나하나마다 포인터가 들어있어서 서로 연결을....
단일? 단순? singly_linked_list
{
단일연결리스트
{
단일연결리스트
item(node) 하나마다 포인터가 next 하나만 있다. 한 방향으로만 traverse 가능.
}
이중연결리스트 doubly_linked_list
{
item(node) 하나마다 포인터가 prev, next 두 개 있다. 양방향으로 traverse 가능.
}
이중연결리스트 doubly_linked_list
{
item(node) 하나마다 포인터가 prev, next 두 개 있다. 양방향으로 traverse 가능.
}
내생각 대충임, chk
* time_complexity 가 random_access 에 불리하다
* size(bound)가 flexible 하다 - 배열,array, 등 고정적인 크기를 가진 것 보다
* 삽입 삭제도 flexible 하다 - insert, delete time_complexity 가 O(1)이다 - 가장 큰 장점?
* head와 tail 포인터를 별도로 만들기도 만들지 않기도 하는데 만드는 게 편하다
*
tmp delme. diagram을 그릴때 ... ( used https://asciiflow.com/ )
화살표가 너무 많아 복잡해져서 왼쪽이 아닌 오른쪽이 적당할 때가 있다
* time_complexity 가 random_access 에 불리하다
* size(bound)가 flexible 하다 - 배열,array, 등 고정적인 크기를 가진 것 보다
* 삽입 삭제도 flexible 하다 - insert, delete time_complexity 가 O(1)이다 - 가장 큰 장점?
* head와 tail 포인터를 별도로 만들기도 만들지 않기도 하는데 만드는 게 편하다
*
tmp delme. diagram을 그릴때 ... ( used https://asciiflow.com/ )
┌────────────┐ ┌──────────┐ │ │ │ │ │ data │ ◄────┤ prev │ │ │ ├──────────┤ ├──────┬─────┤ │ │ │ │ │ │ data │ ◄────┤ prev │ next├────► │ │ │ │ │ ├──────────┤ └──────┴─────┘ │ │ │ next ├───► └──────────┘어떤 algorithm을 서술하느냐에 따라 뭐가 적당한지가 다르다
화살표가 너무 많아 복잡해져서 왼쪽이 아닌 오른쪽이 적당할 때가 있다
Linus Torvalds' good taste argument for linked lists, explained
https://github.com/mkirchner/linked-list-good-taste
https://news.ycombinator.com/item?id=25326552
https://github.com/mkirchner/linked-list-good-taste
https://news.ycombinator.com/item?id=25326552
skip_list - 작성중
인접리스트,adjacency_list - writing; adjacency list
self-organizing_list
{
self-organizing_list
access time 향상을 위해 heuristic(=self-organizing_heuristic)을 사용하는 list.
https://xlinux.nist.gov/dads/HTML/selfOrganizingList.html
Self-organizing_list
self-organizing list
Up: 리스트,list? 연결리스트,linked_list(wpen)
list_comprehensionhttps://xlinux.nist.gov/dads/HTML/selfOrganizingList.html
Self-organizing_list
self-organizing list
Up: 리스트,list? 연결리스트,linked_list(wpen)
{
syntax 관련 - syntactic construct의 일종 - 대개 syntactic_sugar?
집합,set의 표기법인 조건제시법,set-builder_notation에서 유래?
리스트_캄프리헨션
List_comprehension
https://wiki.haskell.org/List_comprehension
http://foldoc.org/list comprehension
집합,set의 표기법인 조건제시법,set-builder_notation에서 유래?
리스트_캄프리헨션
List_comprehension
https://wiki.haskell.org/List_comprehension
http://foldoc.org/list comprehension
Compare 튜플,tuple
{
tuple과 list의 비교 표 (Haskell wiki)
https://wiki.haskell.org/Heterogenous_collections#The_problem
}
{
tuple과 list의 비교 표 (Haskell wiki)
https://wiki.haskell.org/Heterogenous_collections#The_problem
}
AKA 목록
/// tmp ///
List_(abstract_data_type) - list or sequence (시퀀스,sequence page mk? 같은영단어 수열,sequence)
corresp interwiki ko : 리스트_(컴퓨팅)
List_(abstract_data_type) - list or sequence (시퀀스,sequence page mk? 같은영단어 수열,sequence)
corresp interwiki ko : 리스트_(컴퓨팅)