MindMap Gallery Data Structure Chapter 2-Linear Table
Chapter 2 of "Data Structure" - sorting out the knowledge of linear tables, including its definition and basic operations, sequential representation, and chain representation.
Edited at 2022-11-23 16:06:11This is a panoramic infographic—currently sweeping across the web—illustrating the comprehensive applications of OpenClaw, a popular open-source AI agent platform. It systematically introduces this intelligent agent framework—affectionately dubbed "Lobster Farming"—helping readers quickly grasp its core value, technical features, application scenarios, and security protocols. It serves as an excellent introductory guide and practical manual.
這是一張最近風靡全網關於熱門開源AI代理平台OpenClaw的全網應用全景圖解。它系統性地介紹了這款被稱為「養龍蝦」的智慧體框架,幫助讀者快速理解其核心價值、技術特性、應用場景及安全規範,是一份極佳的入門指南與實操手冊。此圖主要針對希望利用AI建構自動化工作流程的技術從業人員、中小企業主及效率追求者,透過9大模組層層遞進,全面剖析了OpenClaw從概念到落地的整個過程。 圖中核心內容首先釐清了「養龍蝦」指涉的是OpenClawd開源智能體,並強調其本質是「AI基建」而非一般聊天機器人。隨後詳細比較其與傳統AI助理的區別,擁有記憶管理、權限控制、會話隔離和異常恢復四大基礎能力,支援跨平台存取和多模型相容(如GPT、Claude、Ollama)。同時,圖解提供了完整的部署方案(雲端/本地/Docker),並列舉了辦公室自動化、內容創作、資料收集等五大應用程式場景。此外,還展示了其火爆程度、政府與大廠佈局、安全部署建議及適合/不適合的人群分類。幫助你快速掌握OpenClaw技術架構與應用價值,指導個人或企業建構AI自動化系統,規避資料外洩與權限失控風險,是學習「執行式AI」轉型的權威參考圖譜。
本圖由萬興腦圖繪製,是針對IT研發崗位的結構化個人履歷模板,完整涵蓋求職核心資訊模組。基本資訊區包含姓名、電話、信箱、求職意願及GitHub連結;專業概要要求以2-3句提煉核心優勢;工作經驗以「公司A高級Java開發工程師」為例,以「透過(行動),達成(量化成果)」格式呈現微服務架構設計、系統效能優化、團隊技術規範制定等職責,公司B經歷則聚焦功能模組開發與Elasticsearch搜尋優化;技能專長分程式語言、後端框架、中介軟體、資料庫、容器雲等維度,清楚展示技術堆疊;專案成果以「電商平台秒殺系統」為例,說明技術棧、架構設計、個人貢獻(Redis Lua庫存原子扣減)及KPI;教育背景包含一流大學電腦專業學歷,以及AWS認證解決方案架構師、軟考中級軟體設計師證書。模板邏輯嚴謹,涵蓋IT研發求職全流程關鍵訊息,幫助求職者清晰、量化展示專業能力。
This is a panoramic infographic—currently sweeping across the web—illustrating the comprehensive applications of OpenClaw, a popular open-source AI agent platform. It systematically introduces this intelligent agent framework—affectionately dubbed "Lobster Farming"—helping readers quickly grasp its core value, technical features, application scenarios, and security protocols. It serves as an excellent introductory guide and practical manual.
這是一張最近風靡全網關於熱門開源AI代理平台OpenClaw的全網應用全景圖解。它系統性地介紹了這款被稱為「養龍蝦」的智慧體框架,幫助讀者快速理解其核心價值、技術特性、應用場景及安全規範,是一份極佳的入門指南與實操手冊。此圖主要針對希望利用AI建構自動化工作流程的技術從業人員、中小企業主及效率追求者,透過9大模組層層遞進,全面剖析了OpenClaw從概念到落地的整個過程。 圖中核心內容首先釐清了「養龍蝦」指涉的是OpenClawd開源智能體,並強調其本質是「AI基建」而非一般聊天機器人。隨後詳細比較其與傳統AI助理的區別,擁有記憶管理、權限控制、會話隔離和異常恢復四大基礎能力,支援跨平台存取和多模型相容(如GPT、Claude、Ollama)。同時,圖解提供了完整的部署方案(雲端/本地/Docker),並列舉了辦公室自動化、內容創作、資料收集等五大應用程式場景。此外,還展示了其火爆程度、政府與大廠佈局、安全部署建議及適合/不適合的人群分類。幫助你快速掌握OpenClaw技術架構與應用價值,指導個人或企業建構AI自動化系統,規避資料外洩與權限失控風險,是學習「執行式AI」轉型的權威參考圖譜。
本圖由萬興腦圖繪製,是針對IT研發崗位的結構化個人履歷模板,完整涵蓋求職核心資訊模組。基本資訊區包含姓名、電話、信箱、求職意願及GitHub連結;專業概要要求以2-3句提煉核心優勢;工作經驗以「公司A高級Java開發工程師」為例,以「透過(行動),達成(量化成果)」格式呈現微服務架構設計、系統效能優化、團隊技術規範制定等職責,公司B經歷則聚焦功能模組開發與Elasticsearch搜尋優化;技能專長分程式語言、後端框架、中介軟體、資料庫、容器雲等維度,清楚展示技術堆疊;專案成果以「電商平台秒殺系統」為例,說明技術棧、架構設計、個人貢獻(Redis Lua庫存原子扣減)及KPI;教育背景包含一流大學電腦專業學歷,以及AWS認證解決方案架構師、軟考中級軟體設計師證書。模板邏輯嚴謹,涵蓋IT研發求職全流程關鍵訊息,幫助求職者清晰、量化展示專業能力。
linear table
Definition and basic operations
definition
A linear table is a finite sequence of n data elements of the same data type
a1 is the header element
an is the table element
Every element except the first element has one and only one direct predecessor; every element except the last element has one and only one direct successor.
Features
The number of elements in the table is limited
The elements in the table have a logical sequence. The elements in the table have their order.
The elements in the table are all data elements, and each element is a single element
The data types of the elements in the table are all the same, which means that each element occupies the same size of storage space
The elements in the table are abstract, that is, only the logical relationship between the elements is discussed, without considering what the elements actually represent.
Basic operations of linear tables
InitList(&): Initialization list. Construct an empty linear table
Length(L): Find the length of the table. Returns the length of the linear table L, that is, the number of data elements in L
LocateElem(L,e): Find operation by value. Find elements in table L with given key value
GetElem(L,i): Bitwise search operation. Get the value of the element at position i in the table
ListInsert (&L,i,e): Insertion operation. Insert the specified element e at the i-th position in table L
ListDelete(&L,i,&e): Delete operation. Delete the element at the i-th position in the table and use e to return the value of the deleted element
PrintList(L): Output operation. Output all element values of the linear table in sequential order
Empty(L): Empty operation. If the job is an empty table, return true, otherwise return false
DestroyList(&L): Destroy operation. Destroy the linear table and release the memory space occupied by linear table L
sequential representation
definition
The sequential storage of a linear table uses a set of storage units with consecutive addresses to sequentially store the data elements in the linear table, so that two logically adjacent elements are also physically adjacent.
Features
random access
The specified element can be found in time O(1) through the first address and element number.
High storage density, each node only stores data elements
The logical order of elements in a table is the same as their physical order, so insertion and deletion operations require moving a large number of elements
Basic operations
(1) insert
Time complexity: O(n)
(2) delete
Time complexity: O(n)
(3) Find by value (sequential search)
Time complexity: O(n)
chain representation
Definition of singly linked list
Store data elements in a linear table through an arbitrary set of storage units
For each linked list node, in addition to storing the element's own information, it also needs to store a pointer to its successor.
Attach a node before the first node of the singly linked list, called the head node. Its data field does not contain any information, and the pointer points to the first element node of the linear list.
Basic operations of singly linked list
Create a singly linked list using head insertion method
The order of the nodes in the generated linked list is inconsistent with the order of the input data.
Time complexity: O(n)
Create a singly linked list using tail insertion method
Introduce the tail pointer r, which always points to the tail node of the current linked list
Time complexity: O(n)
Find node value by serial number
Time complexity: O(n)
Find table nodes by value
Time complexity: O(n)
Insert node operation
time complexity
Inserting after a given node: O(1)
Otherwise, O(n)
Forward insertion operation
Assume that the node to be inserted is s, and insert it in front of node p: s can be inserted after p first, and then p->data and s->data are exchanged. The time complexity is only O(1)
Delete node operation
Time complexity: O(1)
Extended approach: In order to delete node p, you can first assign the value of its successor node to itself, and then delete the successor node. The time complexity is only O(1)
Find table length operation
Time complexity: O(n)
Double linked list
The time complexity of accessing the predecessor node of a single linked list is O(n). For this reason, a double linked list is introduced. Each node has two pointers, prior and next, pointing to its predecessor and successor nodes respectively.
insert operation
Delete operation
circular linked list
Circular singly linked list
The pointer of the last node in the table is not NULL, but points to the head node.
The rest is the same as singly linked list
Circular doubly linked list
The prior pointer of the head node points to the end node of the list; when the linked list is an empty list, the prior field and next field of the head node are both equal to L
static linked list
Use arrays to describe the linked storage structure of linear lists
The pointer is the relative address of the node (array subscript), also known as the cursor
Use next==-1 as the end mark
Comparison of sequence list and linked list
Access (read and write) methods
Sequence table: can be accessed sequentially or randomly
Linked list: elements can only be accessed sequentially from the head of the list
Logical structure and physical structure
Find, insert and delete element operations
space allocation
Sequential storage is difficult to expand when static storage is allocated; dynamic storage allocation will reduce operating efficiency