数据结构与算法—1、概述

  • 一、什么是数据结构与算法分析
    • 1、数据结构
    • 2、算法
    • 3 、数据结构与算法的作用
  • 二、数据结构
    • 1、数据之间的关系——逻辑结构
    • 2、关系在计算机上的存储——物理结构
    • 3、线性结构的物理存储方式
    • 4、树形结构的物理存储方式
    • 5、图形结构的物理存储方式
  • 三、算法
    • 1、算法的五个特征:
    • 2、如何评价算法的好坏

一、什么是数据结构与算法分析

  在计算机科学中,数据结构(Data Structure)是计算机中存储、组织数据的方式。算法用来设计一种使用计算机来解决问题的方法。

1、数据结构

  我们经常会听到有人说 起:程序 = 数据结构 + 算法,当我们遇到一个问题,或有一个需求时,在设计程序来解决问题时,其中重要一步就是设计数据结构。
  数据结构在问题解决中主要用来:存放要处理的数据实现算法策略数据结构可以用一个四元组来表示:

#mermaid-svg-cy2cVioLwGQjiNml .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-cy2cVioLwGQjiNml .label text{fill:#333}#mermaid-svg-cy2cVioLwGQjiNml .node rect,#mermaid-svg-cy2cVioLwGQjiNml .node circle,#mermaid-svg-cy2cVioLwGQjiNml .node ellipse,#mermaid-svg-cy2cVioLwGQjiNml .node polygon,#mermaid-svg-cy2cVioLwGQjiNml .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-cy2cVioLwGQjiNml .node .label{text-align:center;fill:#333}#mermaid-svg-cy2cVioLwGQjiNml .node.clickable{cursor:pointer}#mermaid-svg-cy2cVioLwGQjiNml .arrowheadPath{fill:#333}#mermaid-svg-cy2cVioLwGQjiNml .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-cy2cVioLwGQjiNml .flowchart-link{stroke:#333;fill:none}#mermaid-svg-cy2cVioLwGQjiNml .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-cy2cVioLwGQjiNml .edgeLabel rect{opacity:0.9}#mermaid-svg-cy2cVioLwGQjiNml .edgeLabel span{color:#333}#mermaid-svg-cy2cVioLwGQjiNml .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-cy2cVioLwGQjiNml .cluster text{fill:#333}#mermaid-svg-cy2cVioLwGQjiNml div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-cy2cVioLwGQjiNml .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-cy2cVioLwGQjiNml text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-cy2cVioLwGQjiNml .actor-line{stroke:grey}#mermaid-svg-cy2cVioLwGQjiNml .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-cy2cVioLwGQjiNml .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-cy2cVioLwGQjiNml #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-cy2cVioLwGQjiNml .sequenceNumber{fill:#fff}#mermaid-svg-cy2cVioLwGQjiNml #sequencenumber{fill:#333}#mermaid-svg-cy2cVioLwGQjiNml #crosshead path{fill:#333;stroke:#333}#mermaid-svg-cy2cVioLwGQjiNml .messageText{fill:#333;stroke:#333}#mermaid-svg-cy2cVioLwGQjiNml .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-cy2cVioLwGQjiNml .labelText,#mermaid-svg-cy2cVioLwGQjiNml .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-cy2cVioLwGQjiNml .loopText,#mermaid-svg-cy2cVioLwGQjiNml .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-cy2cVioLwGQjiNml .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-cy2cVioLwGQjiNml .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-cy2cVioLwGQjiNml .noteText,#mermaid-svg-cy2cVioLwGQjiNml .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-cy2cVioLwGQjiNml .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-cy2cVioLwGQjiNml .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-cy2cVioLwGQjiNml .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-cy2cVioLwGQjiNml .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-cy2cVioLwGQjiNml .section{stroke:none;opacity:0.2}#mermaid-svg-cy2cVioLwGQjiNml .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-cy2cVioLwGQjiNml .section2{fill:#fff400}#mermaid-svg-cy2cVioLwGQjiNml .section1,#mermaid-svg-cy2cVioLwGQjiNml .section3{fill:#fff;opacity:0.2}#mermaid-svg-cy2cVioLwGQjiNml .sectionTitle0{fill:#333}#mermaid-svg-cy2cVioLwGQjiNml .sectionTitle1{fill:#333}#mermaid-svg-cy2cVioLwGQjiNml .sectionTitle2{fill:#333}#mermaid-svg-cy2cVioLwGQjiNml .sectionTitle3{fill:#333}#mermaid-svg-cy2cVioLwGQjiNml .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-cy2cVioLwGQjiNml .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-cy2cVioLwGQjiNml .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-cy2cVioLwGQjiNml .grid path{stroke-width:0}#mermaid-svg-cy2cVioLwGQjiNml .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-cy2cVioLwGQjiNml .task{stroke-width:2}#mermaid-svg-cy2cVioLwGQjiNml .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-cy2cVioLwGQjiNml .taskText:not([font-size]){font-size:11px}#mermaid-svg-cy2cVioLwGQjiNml .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-cy2cVioLwGQjiNml .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-cy2cVioLwGQjiNml .task.clickable{cursor:pointer}#mermaid-svg-cy2cVioLwGQjiNml .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-cy2cVioLwGQjiNml .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-cy2cVioLwGQjiNml .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-cy2cVioLwGQjiNml .taskText0,#mermaid-svg-cy2cVioLwGQjiNml .taskText1,#mermaid-svg-cy2cVioLwGQjiNml .taskText2,#mermaid-svg-cy2cVioLwGQjiNml .taskText3{fill:#fff}#mermaid-svg-cy2cVioLwGQjiNml .task0,#mermaid-svg-cy2cVioLwGQjiNml .task1,#mermaid-svg-cy2cVioLwGQjiNml .task2,#mermaid-svg-cy2cVioLwGQjiNml .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-cy2cVioLwGQjiNml .taskTextOutside0,#mermaid-svg-cy2cVioLwGQjiNml .taskTextOutside2{fill:#000}#mermaid-svg-cy2cVioLwGQjiNml .taskTextOutside1,#mermaid-svg-cy2cVioLwGQjiNml .taskTextOutside3{fill:#000}#mermaid-svg-cy2cVioLwGQjiNml .active0,#mermaid-svg-cy2cVioLwGQjiNml .active1,#mermaid-svg-cy2cVioLwGQjiNml .active2,#mermaid-svg-cy2cVioLwGQjiNml .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-cy2cVioLwGQjiNml .activeText0,#mermaid-svg-cy2cVioLwGQjiNml .activeText1,#mermaid-svg-cy2cVioLwGQjiNml .activeText2,#mermaid-svg-cy2cVioLwGQjiNml .activeText3{fill:#000 !important}#mermaid-svg-cy2cVioLwGQjiNml .done0,#mermaid-svg-cy2cVioLwGQjiNml .done1,#mermaid-svg-cy2cVioLwGQjiNml .done2,#mermaid-svg-cy2cVioLwGQjiNml .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-cy2cVioLwGQjiNml .doneText0,#mermaid-svg-cy2cVioLwGQjiNml .doneText1,#mermaid-svg-cy2cVioLwGQjiNml .doneText2,#mermaid-svg-cy2cVioLwGQjiNml .doneText3{fill:#000 !important}#mermaid-svg-cy2cVioLwGQjiNml .crit0,#mermaid-svg-cy2cVioLwGQjiNml .crit1,#mermaid-svg-cy2cVioLwGQjiNml .crit2,#mermaid-svg-cy2cVioLwGQjiNml .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-cy2cVioLwGQjiNml .activeCrit0,#mermaid-svg-cy2cVioLwGQjiNml .activeCrit1,#mermaid-svg-cy2cVioLwGQjiNml .activeCrit2,#mermaid-svg-cy2cVioLwGQjiNml .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-cy2cVioLwGQjiNml .doneCrit0,#mermaid-svg-cy2cVioLwGQjiNml .doneCrit1,#mermaid-svg-cy2cVioLwGQjiNml .doneCrit2,#mermaid-svg-cy2cVioLwGQjiNml .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-cy2cVioLwGQjiNml .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-cy2cVioLwGQjiNml .milestoneText{font-style:italic}#mermaid-svg-cy2cVioLwGQjiNml .doneCritText0,#mermaid-svg-cy2cVioLwGQjiNml .doneCritText1,#mermaid-svg-cy2cVioLwGQjiNml .doneCritText2,#mermaid-svg-cy2cVioLwGQjiNml .doneCritText3{fill:#000 !important}#mermaid-svg-cy2cVioLwGQjiNml .activeCritText0,#mermaid-svg-cy2cVioLwGQjiNml .activeCritText1,#mermaid-svg-cy2cVioLwGQjiNml .activeCritText2,#mermaid-svg-cy2cVioLwGQjiNml .activeCritText3{fill:#000 !important}#mermaid-svg-cy2cVioLwGQjiNml .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-cy2cVioLwGQjiNml g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-cy2cVioLwGQjiNml g.classGroup text .title{font-weight:bolder}#mermaid-svg-cy2cVioLwGQjiNml g.clickable{cursor:pointer}#mermaid-svg-cy2cVioLwGQjiNml g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-cy2cVioLwGQjiNml g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-cy2cVioLwGQjiNml .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-cy2cVioLwGQjiNml .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-cy2cVioLwGQjiNml .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-cy2cVioLwGQjiNml .dashed-line{stroke-dasharray:3}#mermaid-svg-cy2cVioLwGQjiNml #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-cy2cVioLwGQjiNml #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-cy2cVioLwGQjiNml #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-cy2cVioLwGQjiNml #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-cy2cVioLwGQjiNml #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-cy2cVioLwGQjiNml #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-cy2cVioLwGQjiNml #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-cy2cVioLwGQjiNml #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-cy2cVioLwGQjiNml .commit-id,#mermaid-svg-cy2cVioLwGQjiNml .commit-msg,#mermaid-svg-cy2cVioLwGQjiNml .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-cy2cVioLwGQjiNml .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-cy2cVioLwGQjiNml .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-cy2cVioLwGQjiNml g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-cy2cVioLwGQjiNml g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-cy2cVioLwGQjiNml g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-cy2cVioLwGQjiNml g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-cy2cVioLwGQjiNml g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-cy2cVioLwGQjiNml g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-cy2cVioLwGQjiNml .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-cy2cVioLwGQjiNml .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-cy2cVioLwGQjiNml .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-cy2cVioLwGQjiNml .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-cy2cVioLwGQjiNml .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-cy2cVioLwGQjiNml .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-cy2cVioLwGQjiNml .edgeLabel text{fill:#333}#mermaid-svg-cy2cVioLwGQjiNml .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-cy2cVioLwGQjiNml .node circle.state-start{fill:black;stroke:black}#mermaid-svg-cy2cVioLwGQjiNml .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-cy2cVioLwGQjiNml #statediagram-barbEnd{fill:#9370db}#mermaid-svg-cy2cVioLwGQjiNml .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-cy2cVioLwGQjiNml .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-cy2cVioLwGQjiNml .statediagram-state .divider{stroke:#9370db}#mermaid-svg-cy2cVioLwGQjiNml .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-cy2cVioLwGQjiNml .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-cy2cVioLwGQjiNml .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-cy2cVioLwGQjiNml .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-cy2cVioLwGQjiNml .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-cy2cVioLwGQjiNml .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-cy2cVioLwGQjiNml .note-edge{stroke-dasharray:5}#mermaid-svg-cy2cVioLwGQjiNml .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-cy2cVioLwGQjiNml .error-icon{fill:#522}#mermaid-svg-cy2cVioLwGQjiNml .error-text{fill:#522;stroke:#522}#mermaid-svg-cy2cVioLwGQjiNml .edge-thickness-normal{stroke-width:2px}#mermaid-svg-cy2cVioLwGQjiNml .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-cy2cVioLwGQjiNml .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-cy2cVioLwGQjiNml .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-cy2cVioLwGQjiNml .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-cy2cVioLwGQjiNml .marker{fill:#333}#mermaid-svg-cy2cVioLwGQjiNml .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;} #mermaid-svg-cy2cVioLwGQjiNml {color: rgba(0, 0, 0, 0.75);font: ;}

D
L
S
O
DataStructure = (D, L, S, O)
数据元素D
数据元素之间的逻辑关系L
逻辑关系在计算机中的存储结构S
所规定的操作O
DataStructure = (D, L, S, O)数据元素(D)数据元素之间的逻辑关系(L)逻辑关系在计算机中的存储结构(S)所规定的操作(O)

2、算法

  (1)算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
  (2)通俗来说:解决特定问题求解步骤的描述分析问题,一步一步求解,并得到结果。这一系列的步骤就称之为算法。


3 、数据结构与算法的作用

  但凡有数据“扎堆”的地方,就有数据结构的影子

  但凡有数据结构的地方,脱离不了算法的“折磨”



二、数据结构

1、数据之间的关系——逻辑结构

  逻辑结构:是指数据元素之间的相互关系,是我们 想象出来的,并没有实质性的将其存储在计算机中。

逻辑结构可分为:

  • 线性结构:线性结构中的数据元素之间是一对一的关系

  • 树形结构:树形结构中的数据元素之间存在一种一对多的层次关系

  • 图形结构:图形结构的数据元素是多对多的关系


2、关系在计算机上的存储——物理结构

  物理结构:是指数据的逻辑结构在计算机中的具体存储形式。

物理结构可分为:

  • 顺序存储结构:开辟一组连续的空间存储数据
    通常用数组来实现,数组中空间本身是连续的,保证了数据之间的关系

  • 链式存储结构:开辟一组随机的空间存储数据
    通常用节点来实现,节点不仅要存储数据还要存储下一个节点的位置以保证数据之间的关系

3、线性结构的物理存储方式


4、树形结构的物理存储方式


5、图形结构的物理存储方式


三、算法

  是解决特定问题求解步骤的描述分析问题,一步一步求解,并得到结果这一系列的步骤就称之为算法算法


生活实例:

      做一个番茄炒蛋的算法是什么。可能是下面这样的。第一步,准备食材。第二步,将鸡蛋打散炒熟捞起来。第三步,将番茄切块炒出汁。第四步,加盐、白糖和葱花,倒入鸡蛋炒匀。第五步,出锅。这五步就是制作番茄炒蛋的算法。

1、算法的五个特征:

  • 有穷性(Finiteness):算法的有穷性是指算法必须能在执行有限个步骤之后终止;
  • 确切性 (Definiteness):算法的每一步骤必须有确切的定义;
  • 输入项(Input):一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;
  • 输出项(Output):一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
  • 可行性(Effectiveness):算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成(也称之为有效性)。

2、如何评价算法的好坏

(1)空间复杂度

  空间复杂度(Space Complexity):对一个算法在运行过程中临时占用存储空间大小的量度,记做S(n)=O(f(n))。
  比如直接插入排序的时间复杂度是O(n^2),空间复杂度是O(1) 。而一般的递归算法就要有O(n)的空间复杂度了,因为每次递归都要存储返回信息。一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量。

(2)时间复杂度

  在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度,记作:T(n)=O(f(n))。它表示随着问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐进时间复杂度。简称时间复杂度。其中f(n)是问题规模n的某个函数。

  算法时间复杂度主要探究的是问题输入规模N的数量级
  不是算法的具体执行次数

常见的时间复杂度的比较

数据结构与算法—1、概述相关推荐

  1. 数据结构与算法理论概述

    数据结构与算法理论概述 文章目录 数据结构与算法理论概述 数据结构概述 ◆ 数据结构涵盖的内容 ◆ 存储数据 算法概述 ◆ 算法的基本特性 ◆ 算法设计要求 ◆ 算法分析 数据结构概述 狭义上:数据结 ...

  2. 数据结构和算法基础概述

    数据结构 我是一个"栈" 计算机世界中存储和组织数据的 下面来介绍四种不同的数据存储方式 数组 存储方式:按顺序存储在连续的内存中 获取方式:只需要提供位置索引 注意事项:只能保存 ...

  3. 数据结构和算法 数论 概述

    1.数论概述 算法导论说:"数论曾经被视为一种虽然优美但却没什么用处的纯数学学科.如今,数论算法已经得到了广泛的使用.这很大程度上要归功于人们发明了基于大素数的加密方法.快速计算大素数的算法 ...

  4. 程序员的进阶课-架构师之路(1)-数据结构与算法简介

    现在市面上的数据结构与算法的教程也都不少,但有两个问题,第一是泛泛而谈,第二是基本都是c语言实现,而java作为第一主流语言,理应有它自己的独到之处.这也是我写这些博客的初衷,我会讲解java实现的数 ...

  5. 数据结构和算法(Java),上

    文章目录 第1章 数据结构和算法的概述 数据结构和算法的关系 线性结构和非线性结构 线性结构 非线性结构 第2章 稀疏数组和队列 稀疏数组 案例引入 稀疏数组的基本介绍 应用实例 队列 队列介绍 数组 ...

  6. 【尚硅谷|韩顺平】数据结构和算法

    文章目录 前言: 数据结构和算法 数据结构和算法的概述 数据结构和和算法的关系 数据结构 线性结构和非线性结构 非线性结构 稀疏 sparsearray 数组 基本介绍: 稀疏数组的处理方法是: 应用 ...

  7. 拿命 3 天肝出来的计算机考研数据结构与算法复习笔记(超详细教程,更新中)

    数据结构与算法 基本概述 数据结构指的是"一组数据的存储结构",算法指的是"操作数据的一组方法". 数据结构是为算法服务的,算法是要作用再特定的数据结构上的. ...

  8. 猎豹网校JAVA语言数据结构与算法视教程

    -------------------课程目录------------------- 01.NetBeans_下载和安装.mp4 02.JavaDS_数据结构和算法的概述.mp4   03.JavaD ...

  9. 猎豹怎么运行java_猎豹网校 数据结构与算法 Java语言 JAVA语言视频教程(火评)...

    01.NetBeans_下载和安装.mp4  02.JavaDS_数据结构和算法的概述.mp4 03.JavaDS_数组基础知识.mp4 04.JavaDS_有序数组和二分查找.mp4 05.Java ...

  10. java算法概述,Java数据结构与算法基础(一)概述与线性结构

    Java数据结构与算法基础(二)递归算法 Java数据结构与算法基础(一)概述与线性结构 学习目的:为了能更顺畅的读很多底层API代码和拓宽解决问题的思路 一.数据结构概述 1.数据结构是什么?数据与 ...

最新文章

  1. 关于windows消息机制的猜想
  2. java 日期 区间_如何实现时间区间的分割??
  3. JS之获取指定位置Unicode的charCodeAt()方法
  4. 天池在线编程 2020国庆八天乐 - 8. 分糖果
  5. 爬虫—使用Requests
  6. WPF界面设计中常用的一些代码片段及属性
  7. Java 开发必须掌握的线上问题排查命令
  8. 如何将苹方字体写入html,在网页上使用苹方字体
  9. 帝国CMS 7.5仿《讲历史网》模板/优秀的历史网帝国CMS模板下载
  10. 城市规划图例符号_城市规划图例符号
  11. ArcGIS中英文切换
  12. 用Vue-cli从头搭建项目
  13. 40岁左右适合干个什么样的小生意?
  14. 苹果cmsV10仿优酷模板,最新自适应苹果cms模板
  15. 【html+css+js】用前端做一个视频播放器页面
  16. Dart factory 快速理解
  17. Oracle横竖转换通用函数
  18. SAR学习笔记后续-phased工具箱介绍
  19. 大型网站架构演变过程、大并发服务器架构
  20. 哈工大硕士生实现 11 种数据降维算法,代码已开源!

热门文章

  1. 天下手游卡在获取服务器信息,天下手游军资获取方法 获取和使用经验分析
  2. 李玉婷MYSQL进阶08——分页查询
  3. douphp快速手动添加后台模块
  4. 做了一个PC端图片阅读器,将它命名为「图阅」 | 初尝rust
  5. 一款漫画APP的实现(二)- 数据拉取 ①
  6. 服务器为什么被攻击?服务器攻击进黑洞是怎么解决?
  7. ROS vim退出快捷键
  8. 科目二 曲线行驶 S弯道 流程记录 LTS
  9. [WUA APIs]UpdateSearcher
  10. 三菱FX3U通讯(RTU)四台变频器的通讯程序