京公网安备 11010802034615号
经营许可证编号:京B2-20210330
几种常见的重要数据结构总结
栈的表示
1. 数组
2. 链表(优点:无需指定大小,不存在栈溢出等情况的处理)
队列表示
1. 数组(构造成循环队列以提高空间使用效率)
2. 链表
二叉树 (满二叉树、完全二叉树、稀疏二叉树等)
1. 数组(二叉树按照层次编号,空缺的孩子结点也要保留编号,这使得当二叉树比较稀疏时,空间利用率很低)
2. 链表(二叉链表(三个域:左孩子,右孩子和结点的值),三叉链表(多一个父结点的指针,解决了找祖先结点困难的问题))
树
1. 广义表
广义表是一个n个表元素组成的有限序列,表元素或者是数据元素(atom),或者是子表(sublist),一个广义表的元素结构可以由3个域构成
第一个域标识该表结点是什么类型的结点(type=0,广义表专用的表头结点;type=1,数据结点;type=2,子表结点),第二个域是值域(如果是数据元素类结点,则是相应数据值,如果是子表则存放指向子表表头的指针),第三个域存放尾指针(type=0,空;type!=0,同一层下一个结点的指针)
2. 双亲表示
一个结点有两个域,data和parent域。可组织成连续存储单元形式(数组),或者链表形式。
3. 左子女右兄弟
一个结点有三个域,data,first child,next sibling。当然也可以组织成数组或者链表形式。
数组其实可以表示任意类型的信息,不同的解析方式产生不同的结果。
霍夫曼树、霍夫曼编码
霍夫曼树:带全路径长度最小的二叉树应是权值大的外结点离根节点最近的扩充二叉树(n个叶结点带权值)
Huffman Code是霍夫曼树在数据编码中的应用,解决数据的最小冗余编码问题,是数据压缩学的基础。
霍夫曼算法:
1. 问题:将权值为{W0,W1,...,Wn}的扩充二叉树构造霍夫曼树
2. 算法过程:
(1). 由给定的n个权值,构造具有n棵扩充二叉树的森林F,其中每棵树Ti只有一个带有权值Wi的根结点,左右子树为空。
(2). 重复以下步骤,直至F中只剩下一棵扩充二叉树,此即为霍夫曼树
①. 在F中选取两棵根结点权值最小的扩充二叉树,作为左右子树构造一棵新的二叉树,新树的根结点的权值为其左右子树根结点权值之和。
②. 在F中删去两棵二叉树
③. 将新二叉树加入F
图
图的存储表示
1. 邻接矩阵
2. 邻接表
图的遍历、连通性
1. 深度优先搜索(对应栈)DFS
2. 宽度优先搜索(对应队列)BFS
最小生成树(Minimum-cost Spanning Tree)
1. Kruskal算法(依次往图中加入最小权值且两个邻接点位于不同连通分量即不构成回路的边)
2. Prim算法(从某一顶点出发,选择与其关联的具有最小权值的边,将另一顶点加入到集合U中,以后每步从一个顶点在U中,另一个不在U中的各条边中选择权值最小的边,将其不在U中的顶点加入U中,直至所有顶点都在U中)
最短路径问题
1. Dijkstra算法 (图中没有负权值边)
2. Bellman-Ford算法(图中没有负权值路径)
活动网络
1. AOV(用顶点表示活动的网络,比如学生课程学习工程图)
拓扑排序问题
2.AOE
关键路径问题
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在Python数据分析中,Pandas库的DataFrame是最核心、最常用的结构化数据表对象,类似于Excel的二维表格,具备规整的行列结构、字 ...
2026-09-07在数据分析、经营复盘、业绩预测与经济统计工作中,平均增速(平均增长率)是衡量数据长期变化趋势、业务发展快慢的核心指标。不 ...
2026-09-07 很多数据分析师精通Excel单元格操作,但当被问到“表结构数据的基本处理单位是什么”“字段和记录的本质区别”“为什么表结 ...
2026-09-07随着大数据技术的快速发展,商业竞争逐步从传统的经验式经营转变为数据驱动的精细化运营。海量的用户行为数据、交易数据、运营数 ...
2026-09-04CDA数据分析师 出品 作者:李诗怡 1. 波士顿矩阵(BCG Matrix) 定义: BCG于1970年提出的业务组合分析工具,以"市场增长率"(纵 ...
2026-09-04 数据分析师八成以上的时间在和数据表格打交道,但许多人拿到Excel后习惯性地先算、先分析,结果回头发现漏了一列关键数据, ...
2026-09-04数据透视表是Excel与Power BI中最核心的数据分析工具,具备快速汇总、维度拆分、动态筛选的能力,可高效完成数据归类与统计展示 ...
2026-09-03在Power BI数据分析可视化场景中,堆积柱状图+折线图是最常用的复合图表组合。堆积柱状图适合展示各细分维度当期数值、结构占比 ...
2026-09-03 很多数据分析师每天与Excel打交道,但当被问到“表格结构数据的基本处理单位是什么”“数据类型误判会引发哪些分析错误”“ ...
2026-09-03CDA数据分析师 出品 作者:李诗怡 一、8个核心数据清洗函数 1. TRIM:一键清除多余空格(最常用) 作用:仅保留文本中"单词/字 ...
2026-09-02数据分析的核心并非单纯操作工具、整理报表或绘制图表,而是依靠科学的思维逻辑挖掘数据价值、解释业务现象、指导经营决策。在完 ...
2026-09-02在社会经济、产业研究、区域治理与大数据实证分析中,面板数据是最具研究价值的数据类型。面板数据同时包含截面维度与时间维度信 ...
2026-09-02 很多数据分析师能熟练计算均值、标准差,但当被问到“如何用一张图让业务方3秒内看懂核心结论”“面对不同数据类型该怎么选 ...
2026-09-02在数据驱动决策的体系中,数据分析按照分析目的可分为描述性分析、诊断性分析、预测性分析与指导性分析四大类型。其中,诊断性分 ...
2026-09-01网络请求是Python爬虫开发、接口测试、数据拉取的核心基础功能,Python生态中主要依靠 urllib 和 requests 两大库实现HTTP请求操 ...
2026-09-01 很多数据分析师面对业务问题时,常常感到“知道要分析,却不知道用什么方法”。其实,数据分析并非无章可循——从三大基础范 ...
2026-09-01在数据库设计与业务数据维护中,自增ID是数据表最常用的主键字段,用于唯一标识每一条业务数据,正常状态下ID应保持连续递增。但 ...
2026-08-31在数理统计、数据分析、经济测算与日常量化评估中,平均值是刻画数据集中趋势、反映整体水平的基础核心指标。在实际应用中,最常 ...
2026-08-31在数据驱动的时代,数据分析早已不是“凭经验、靠感觉”的零散操作,而是一套具备固定逻辑、标准化流程的系统方法——这就是数据 ...
2026-08-31在大数据时代背景下,海量行业数据亟需通过专业化工具挖掘潜在价值,辅助企业业务决策、优化运营模式、规避经营风险。Python凭借 ...
2026-08-28