几种常见的重要数据结构总结
栈的表示
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
“用户旅程分析”概念 用户旅程图又叫做用户体验地图,它是用于描述用户在与产品或服务互动的过程中所经历的各个阶段、触点和情 ...
2025-01-22在竞争激烈的商业世界中,竞品分析对于企业的发展至关重要。今天,我们就来详细聊聊数据分析师写竞品分析的那些事儿。 一、明确 ...
2025-01-22在数据分析领域,Excel作为一种普及率极高且功能强大的工具,无疑为无数专业人士提供了便捷的解决方案。尽管Excel自带了丰富的功 ...
2025-01-17在这个瞬息万变的时代,许多人都在寻找能让他们脱颖而出的职业。而数据分析师,作为大数据和人工智能时代的热门职业,自然吸引了 ...
2025-01-14Python作为一门功能强大的编程语言,已经成为数据分析和可视化领域的重要工具。无论你是数据分析的新手,还是经验丰富的专业人士 ...
2025-01-10完全靠数据决策,真的靠谱吗? 最近几年,“数据驱动”成了商界最火的关键词之一,但靠数据就能走天下?其实不然!那些真正成功 ...
2025-01-09SparkSQL 结构化数据处理流程及原理是什么?Spark SQL 可以使用现有的Hive元存储、SerDes 和 UDF。它可以使用 JDBC/ODB ...
2025-01-09在如今这个信息爆炸的时代,数据已然成为企业的生命线。无论是科技公司还是传统行业,数据分析正在深刻地影响着商业决策以及未来 ...
2025-01-08“数据为王”相信大家都听说过。当前,数据信息不再仅仅是传递的媒介,它成为了驱动经济发展的新燃料。对于企业而言,数据指标体 ...
2025-01-07在职场中,当你遇到问题的时候,如果感到无从下手,或者抓不到重点,可能是因为你掌握的思维模型不够多。 一个好用的思维模型, ...
2025-01-06在现代企业中,数据分析师扮演着至关重要的角色。每天都有大量数据涌入,从社交媒体到交易平台,数据以空前的速度和规模生成。面 ...
2025-01-06在职场中,许多言辞并非表面意思那么简单,有时需要听懂背后的“潜台词”。尤其在数据分析的领域里,掌握常用术语就像掌握一门新 ...
2025-01-04在当今信息化社会,数据分析已成为各行各业的核心驱动力。它不仅仅是对数字进行整理与计算,而是在数据的海洋中探寻规律,从而指 ...
2025-01-03又到一年年终时,各位打工人也迎来了展示成果的关键时刻 —— 年终述职。一份出色的年终述职报告,不仅能全面呈现你的工作价值, ...
2025-01-03在竞争激烈的商业世界中,竞品分析对于企业的发展至关重要。今天,我们就来详细聊聊数据分析师写竞品分析的那些事儿。 一、明确 ...
2025-01-03在数据分析的江湖里,有两个阵营总是争论不休。一派信奉“大即是美”,认为数据越多越好;另一派坚守“小而精”,力挺质量胜于规 ...
2025-01-02数据分析是一个复杂且多维度的过程,从数据收集到分析结果应用,每一步都是对信息的提炼与升华。可视化分析结果,以图表的形式展 ...
2025-01-02在当今的数字化时代,数据分析师扮演着一个至关重要的角色。他们如同现代企业的“解密专家”,通过解析数据为企业提供决策支持。 ...
2025-01-02数据分析报告至关重要 一份高质量的数据分析报告不仅能够揭示数据背后的真相,还能为企业决策者提供有价值的洞察和建议。 年薪 ...
2024-12-31数据分析,听起来好像是技术大咖的专属技能,但其实是一项人人都能学会的职场硬核能力!今天,我们来聊聊数据分析的核心流程,拆 ...
2024-12-31