数据结构及算法学习(一)

一、数据结构范畴

  数据结构是一门与程序设计密切相关的课程,而程序设计就是算法+数据结构,算法即是处理数据的策略,而数据结构就是表达程序设计的模型,可以说任何一个程序设计问题,我们都可以从算法和模型出发。概而言之,数据结构就是描述了程序设计的数学模型及在其程序设计上的表示和实现。

二、基本概念

  (1)数据:是计算机处理信息的载体,是其某种特定的符合表达形式的集合,它的定义范畴会随着计算机的发展而不断扩大,最初的数据范畴是数字,而现在发展到图片、音频、视频等多种形式。而其的每个个体叫数据元素。而每个个体又可以有多种表达形式表示,我们称为数据项,数据项是数据结构的最小单位。

  (2)数据结构:是一个带有结构的数据元素的集合。也就是说给任何一组数据元素加上了一定规则的结构,我们即可称为数据结构。

  (3)数据的逻辑结构

    1、线性结构

    2、树形结构

    3、网状结构

    4、集合结构

  (4)数据的存储结构(指逻辑结构在存储器的映像)

      关系的映像方法

      1、顺序映像,两个相邻的数据元素的存储位置相差一个常量

      2、链式映像,用指针表示后续关系,每个元素包含了自身信息还有指向后续元素的指针信息

  (5)抽象数据类型(ADT)

     ADT的两个重要特征:

    1、数据的抽象性,用ADT描述程序处理的实体时,只强调器实体的本质特征和完成的功能及它和外部用户的接口

    2、数据的封装性,将实体的外部传值特征和内部实现的具体细节分离,实现了内部的细节的封装性。

三、算法及其衡量

  算法是为了解决某类问题而进行的一个有限长的操作序列,其五大特征:有穷性(步骤和时间的有限性)、确定性(对处理的问题有明确的范畴规定)、可行性(可以在有限次实现)、有输入、有输出。

    1、算法设计原则

  (1)正确性(满足需解决问题的需求、不含语法错误)

  (2)可读性(易于人的理解)

  (3)健壮性(对非法操作做出温和处理)

  (4)高效率与低存储量需求

  2、算法衡量的方法和准则

   (1)事后统计法(2)事前分析估算法(优于第一种)

  3、算法执行时间的相关因素

  (1)选用的策略  (2)问题的规模  (3)程序语言  (4)编译机器产生的可执行代码的质量  (5)计算机执行指令的速度

  

  

  

  

原文地址:https://www.cnblogs.com/spydxk/p/9631654.html

时间: 2024-10-11 17:53:16

数据结构及算法学习(一)的相关文章

数据结构与算法学习之路:背包问题的贪心算法和动态规划算法

一.背包问题描述: 有N种物品和一个重量为M的背包,第i种物品的重量是w[i],价值是p[i].求解将哪些物品装入背包可使这些物品的费用总和不超过背包重量,且价值总和最大. 二.解决方法: 1.贪心算法:贪心算法基于的思想是每一次选择都作当前最好的选择,这样最后的结果虽然不一定是最优解,但是也不会比最优解差很多. 举个例子说明可能好懂一些:一帮基友去聚餐,菜是一份一份上的,我每一次夹菜都只夹牛肉/海鲜吃,可能到最后我吃的牛肉/海鲜很多,但不一定代表我吃掉的东西的总价值最高,但是相对来说价值也很高

数据结构和算法学习

Algorithms, 4th Edition 不过一遍都不好意思说你学过算法           学习资料: 怎样学算法? 如何学习数据结构?

数据结构与算法——学习整理记录

===注:此文由本人结合网上资源整理总结而来,仅代表个人的学习与理解,如有错漏,欢迎指正!=== # 1. 数据结构 ## 1.1 数据结构是什么? 数据结构,直白地理解,就是研究数据的逻辑关系与存储方式的一门学科. 可以简单的分为:数据的逻辑结构(逻辑关系)和数据的存储结构(物理结构). 它是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作. ### 1.1.1 数据的逻辑结构 数据的逻辑结构,简单地理解,就是指的数据之间的逻辑关系. 数据之间的逻辑关系可简单的分为

数据结构和算法学习总结01 绪论

数据结构实际上是数据元素之间的关系的集合 数据结构分为    1.逻辑结构      2.物理结构(逻辑结构的数据元素的存储方式)                            逻辑结构分为  1.集合结构   数据元素无关系,只是属于一个集合                            2.线性结构   数据元素间1对1的关系                            3.树形结构   数据元素间1对多的关系                            

数据结构与算法学习之(介绍)

数据结构与算法介绍 数据结构与算法的重要性 算法是程序的灵魂,优秀的程序可以在海量数据计算时,任然保持高速运算 框架和缓存技术的核心时算法 高薪 数据结构与算法的关系 数据(data)结构(Structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构 程序 = 数据结构 + 算法 数据结构是算法的基础 数据结构包括线性结构与非线性结构 线性结构 线性结构是最常用的数据结构,特点是元素之间存在一对一的线性关系 线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构 线性结构常

数据结构与算法学习(介绍)

数据结构与算法介绍 数据结构与算法的重要性 算法是程序的灵魂,优秀的程序可以在海量数据计算时,任然保持高速运算 框架和缓存技术的核心时算法 高薪 数据结构与算法的关系 数据(data)结构(Structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构 程序 = 数据结构 + 算法 数据结构是算法的基础 数据结构包括线性结构与非线性结构 线性结构 线性结构是最常用的数据结构,特点是元素之间存在一对一的线性关系 线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构 线性结构常

数据结构与算法学习 第0季 学前入门

2015年学习计划安排: http://www.cnblogs.com/cyrus-ho/p/4182275.html 数据结构:计算机内部数据的组织形式和存储方法.(不同的数据结构在实现同一个功能的时候,算法的选用不一定一样) 常用的数据结构:一对一 --- 线性结构:一对多 --- 树结构:多对多 --- 图结构 所谓的一对一,就是从前一个数据通过某种方式可以找到下一个数据(最多只有一个).线性结构主要包括:(important!从存储形式上分)顺序表和链表:(从逻辑功能上分)栈和队列.(同

数据结构与算法学习

数据结构是系统的骨肉,算法是系统的灵魂: 没有算法,系统就是一具死尸:没有数据,算法就是孤魂野鬼: 数据结构的基本概念: 1.集合 2.线性表3.树.4.图 近几天主要学习的是线性表的内容: 单链表,循环链表的基本概念,寻址方法及相应算法的大O()等级. 块状链表的基本概念. 算法:大O等级的计算方法及评定.双指针的应用.

数据结构与算法学习笔记(一)

我们把数据结构分为逻辑结构和物理结构 逻辑结构:是指数据对象中数据元素之间的相互关系. 物理结构:是指数据的逻辑结构在计算机中的存储形式. 四大逻辑结构: 集合结构:集合结构中的数据元素除了同属于一个集合外没有其他的相互关系. 线性结构:线性结构中的数据元素之间是一对一的关系. 树形结构:树形结构中的元素之间存在一种一对多的层次关系. 图形结构:图形结构的元素之间是多对多的关系. 物理结构:物理结构主要研究如何把数据元素存储到计算机的存储器中. 数据元素的存储形式: 顺序存储:把数据元素存放在地