`
十三月的
  • 浏览: 165352 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

数据结构之初识庐山求全貌

阅读更多

     

      从各个数据结构名词集锦中作为初识庐山求全貌的入口,但求能够在不求甚解中求得清晰的学习脉络。

第一: 总的划分

        1>  线性数据结构

       线性表:n个数据元素组成的有序序列,每个元素本身是非结构的原子类型。

举例:(A,B,C,D)

       广义表:是顺序表的一种扩充,n个数据元素组成的有序序列,但是每个数据元素本身可以具有某种结构。

举例: (A,(B,C,D),F,(E,G))

      2> 非线性数据结构

       树:数据元素之间具有一对多关系的结构,即除了根节点以外的节点只有一个前驱,可以有零之多个后继节点。

       :数据元素之间具有多对多关系的结构,即每个节点可以有多个前驱和多个后继,任意两个元素都可以相邻。

 

第二: 具体介绍

1>:线性表

顺序表:连续的存储单元存储线性表的数据元素,常用数组实现。

 

链   表:一组任意的存储单元存储线性表的数据元素。常见有单向链表和双向链表,

          两者都是非循环链表,可以在表头或者表尾添加指针域指向表尾或者表头

       成为单向循环链表和双向循环链表。

栈[Stack]    :实施的操作限定在表尾进行。【LIFO:后进先出】

      按照存储方式分为:顺序栈和链栈

队列[Queue]:实施的操作限定在表头和表尾进行。【FIFO:先进先出】

      按照存储方式分为:顺序队列和链队列。顺序队列可以转换为循环队列。

2>:广义表

     广义表作为一种复杂的数据结构,是线性表的扩充,能够表示树结构和图结构。

3>:树

 1: 二叉树存储

   @:数组存储结构:二叉树的大小和形态不发生大的变化时,适合用数组方式存储二叉树。

   @:链式存储结构

     ~ 使用二叉链结构,链表的每个链结点由3个域组成。数据域Data,左节点指针域,右        节点指针域。

     ~ 使用三叉链结构。比二叉链结构多一个指向双亲的指针域,方便找到双亲。

 

2:常见二叉树

   @:二叉查找树:对于树中的每一个节点x,x处的项的值大于x的左子树的所有项的值,小于x的右子树的所有项的值。三个基本操作是:搜索,插入和删除。

   @:AVL树和红黑树:二者是种高度平衡的二叉查找树。所谓平衡理想情况下是指对于每一个节点,它的左子树和右子树的高度是相等的。高度平衡指允许对理想情况做稍小改动:每一个节点的左子树和右子树的高度差至多为1.至于如何做到平衡,才是核心。

   @:哈夫曼树:对于给定n个叶子节点,每个叶子节点赋予权值,所有叶子节点的带权路径最小的二叉树称为哈夫曼树,也称为最优树。

   @:堆:是一种完全二叉树,同时对于任意节点x处的项的关键字大于和等于以x为根节点的子树的所有节点处关键字的值

4>:散列表

    将关键字通过散列函数映射到特定未知,以加快查找的速度。主要运用的是:将顺序存储结构(数组)和链式存储结构(链表)相结合。利用各自优势,形成更加强大的结构。

 

  以上是这两天对于数据结构的总结,下一步具体实现。

 

3
1
分享到:
评论

相关推荐

    ansys maxwell

    ansys maxwell

    matlab基于不确定性可达性优化的自主鲁棒操作.zip

    matlab基于不确定性可达性优化的自主鲁棒操作.zip

    pytest-2.8.0.zip

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    信息安全课程实验C++实现DES等算法源代码

    信息安全课程实验C++实现DES等算法源代码

    基于知识图谱的医疗诊断知识问答系统python源码+项目说明.zip

    环境 python >= 3.6 pyahocorasick==1.4.2 requests==2.25.1 gevent==1.4.0 jieba==0.42.1 six==1.15.0 gensim==3.8.3 matplotlib==3.1.3 Flask==1.1.1 numpy==1.16.0 bert4keras==0.9.1 tensorflow==1.14.0 Keras==2.3.1 py2neo==2020.1.1 tqdm==4.42.1 pandas==1.0.1 termcolor==1.1.0 itchat==1.3.10 ahocorasick==0.9 flask_compress==1.9.0 flask_cors==3.0.10 flask_json==0.3.4 GPUtil==1.4.0 pyzmq==22.0.3 scikit_learn==0.24.1 效果展示 为能最简化使用该系统,不需要繁杂的部署各种七七八八的东西,当前版本使用的itchat将问答功能集成到微信做演示,这需要你的微信能登入网页微信才能使用itchat;另外对话上下文并没

    一个高品质的音乐共享和流媒体轻量音乐程序网站在线音乐源码

    一个高品质的音乐共享和流媒体轻量音乐程序网站在线音乐源码,是创建您自己的音乐流媒体网站的最佳方式! 最新版本: 添加插件系统,现在开发人员可以为程序制作插件并在更新后保留您的自定义设置。 固定的2 个以上的小错误。 安装所需:nginx/apache,mysql5.6+,php7+ 搭建说明:看源码内详细说明

    实现的金融风控贷款违约预测python源码.zip

    实现的金融风控贷款违约预测python源码.zip实现的金融风控贷款违约预测python源码.zip实现的金融风控贷款违约预测python源码.zip实现的金融风控贷款违约预测python源码.zip实现的金融风控贷款违约预测python源码.zip实现的金融风控贷款违约预测python源码.zip实现的金融风控贷款违约预测python源码.zip实现的金融风控贷款违约预测python源码.zip实现的金融风控贷款违约预测python源码.zip实现的金融风控贷款违约预测python源码.zip实现的金融风控贷款违约预测python源码.zip

    麦肯锡—xx数码公司发展战略咨询报告.ppt

    麦肯锡—xx数码公司发展战略咨询报告.ppt

    FT-Prog-v3.12.38.643-FTD USB 工作模式设定及eprom读写

    FT_Prog_v3.12.38.643--FTD USB 工作模式设定及eprom读写

    基于sklearn实现线性回归模型对波士顿房价进行预测源码.zip

    基于sklearn实现线性回归模型对波士顿房价进行预测源码.zip

    pytest-3.5.0.tar.gz

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    pytest-4.5.0.tar.gz

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    基于相干衍射成像模拟的matlab源码.zip

    基于相干衍射成像模拟的matlab源码.zip

    基于CS的远程监控系统软件项目(免费提供全套java开源项目源码+论文)

    项目介绍 背景 在当今的数字化时代,远程监控系统已经成为企业和个人必不可少的工具。随着物联网(IoT)技术的发展,监控系统的需求不断增加,不仅仅局限于视频监控,还包括数据监控、设备状态监控等。基于CS(Client-Server)架构的远程监控系统应运而生,旨在提供高效、实时、可靠的监控服务,帮助用户实现远程管理和控制。 目的 基于CS的远程监控系统软件项目旨在为用户提供一个综合性的监控平台,通过该平台,用户可以实时监控各类设备和数据,实现远程控制和管理,提高工作效率,降低运营成本。同时,该系统还可以用于安全防护、生产过程监控等多种场景,具有广泛的应用前景。 模块说明 前端模块 前端模块是用户与系统交互的界面,负责展示监控数据和接收用户指令。前端模块的主要功能包括: 用户登录与认证:通过安全的登录机制,确保只有授权用户才能访问系统。 实时数据展示:以图表、仪表盘等形式展示实时监控数据,包括视频流、传感器数据等。 报警通知:当监控系统检测到异常情况时,前端模块会通过弹窗、声音等方式通知用户。 远程控制:用户可以通过前端界面对设备进行远程控制,例如开关设备、调整参数等。

    网课专注度监测预警系统基于yolov5目标检测的网课专注度检测系统源码+模型+pyqt5界面.zip

    网课专注度监测预警系统基于yolov5目标检测的网课专注度检测系统源码+模型+pyqt5界面.zip

    matlab基于标签歧义的深度标签分布学习.zip

    matlab基于标签歧义的深度标签分布学习.zip

    九型人格测试题.144题dr.xls

    九型人格测试题.144题dr.xls

    麦肯锡—xx科技业务流程改造报告.ppt

    麦肯锡—xx科技业务流程改造报告.ppt

    pytest-8.2.0-py3-none-any.whl

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    1-8.py

    1-8

Global site tag (gtag.js) - Google Analytics