数据结构¶
数据结构是计算机存储、组织数据的方式,是算法设计的基础。
线性数据结构¶
数组 (Array)¶
- 定义:连续内存空间存储相同类型元素
- 特点:随机访问O(1),插入删除O(n)
- 应用:价格序列、技术指标数组
链表 (Linked List)¶
- 定义:通过指针连接的节点序列
- 特点:插入删除O(1),随机访问O(n)
- 应用:动态数据管理、历史记录
栈 (Stack)¶
- 定义:后进先出(LIFO)的线性结构
- 特点:只能在一端操作
- 应用:函数调用栈、撤销操作
队列 (Queue)¶
- 定义:先进先出(FIFO)的线性结构
- 特点:两端操作,顺序处理
- 应用:任务调度、数据流处理
非线性数据结构¶
树 (Tree)¶
- 定义:层次化的非线性结构
- 类型:二叉树、AVL树、红黑树、B树
- 应用:决策树、组织架构
图 (Graph)¶
- 定义:节点和边的集合
- 类型:有向图、无向图、加权图
- 应用:网络分析、关系建模
堆 (Heap)¶
- 定义:完全二叉树,满足堆性质
- 类型:最大堆、最小堆
- 应用:优先队列、排序算法
散列表和集合¶
散列表 (Hash Table)¶
- 定义:键值对存储结构
- 特点:平均O(1)的查找、插入、删除
- 应用:快速查找、去重
集合 (Set)¶
- 定义:不重复元素的集合
- 特点:快速成员检查
- 应用:数据去重、集合运算
在TA中的应用¶
数据管理¶
- 数组:存储价格序列、技术指标
- 链表:管理动态数据、历史记录
- 散列表:快速查找股票信息
算法实现¶
- 栈:实现递归算法、回溯
- 队列:广度优先搜索、任务队列
- 堆:优先队列、TopK问题
模型构建¶
- 树:决策树模型、分类算法
- 图:关系网络、影响分析