zoukankan      html  css  js  c++  java
  • 数据结构和算法关系

    转自:https://www.cnblogs.com/chenweichu/p/6394026.html

    数据结构:数据与数据之间的结构关系(数组、队列、树、图等结构)

    算法:解决问题的步骤

    总结:

    1、程序 = 数据结构 + 算法 。数据是程序的中心。数据结构和算法两个概念间的逻辑关系贯穿了整个程序世界,首先二者表现为不可分割的关系。没有数据间的有机关系,程序根本无法设计。

    2、数据结构与算法关系:数据结构是底层,算法高层。数据结构为算法提供服务。算法围绕数据结构操作。

    3、解决问题(算法)需要选择正确的数据结构。例如:算法中经常需要对数据进行增加和删除用链表数据结构效率高,数组数据结构因为增加和删除需要移动数字每个元素所有效率低。

    4、数据结构特点:每种数据结构都具有自己的特点。例如:队列:先进先出。栈:先进后出。等等

    5、算法的特性:算法具有五个基本特征:输入、输出、有穷性、确定性和可行性。

    6、数据结构应用:数据结构往往同高效的检索算法、索引技术、排序算法有关

    7、数据结构(逻辑数据结构)通过计算机语言来实现数据结构(存储数据结构)。例如:树型数据结构:通过计算机语言中的数组(节点)和指针(指向父节点)来实现。

    8、存储结构:逻辑数据结构的实现。存储结构通过计算机语言实现。  例如:堆数据结构,堆是一棵完全二叉树,所以适宜采用顺序存储结构(顺序存储:数组),这样能够充分利用存储空间。

    9、算法目的:算法是为数据结构服务。例如:数据结构通常伴随有查找算法、排序算法等

    10、数据结构的优劣:一种数据结构的优劣是在实现其各种运算的算法中体现的。

    二、数据结构:分为逻辑数据结构和存储数据结构两种
    (1)顺序存储方法(顺序存储结构) 
    (2)链接存储方法(链式存储结构) 
    同一种逻辑结构可采用不同的存储方法(以上两种之一或组合),这主要考虑的是运算方便及算法的时空要求。

  • 相关阅读:
    Mac下PyCharm快捷键大全
    SQL语句优化
    There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:661)
    Hadoop Trash回收站使用指南
    HDFS 中向 DataNode 写入数据失败了怎么办
    mapreduce 实现写出orc文件
    mapreduce读取压缩文件
    hive开窗函数over(partition by ......)用法
    Mac 安装 home Brew以及 XCTool的过程记录
    iOS开发中使用CocoaPods来管理第三方的依赖程序
  • 原文地址:https://www.cnblogs.com/Ivyli4258/p/7838675.html
Copyright © 2011-2022 走看看