专栏首页前端吧啦吧啦数据结构(一)之基础知识

数据结构(一)之基础知识

学习数据结构主要源于以下原因:

  在工作中我是用meteor在做项目,前后台都要写,服务端是用的node。之前有和同事做过一个邮箱功能,性能测试时并发量一高就发送失败。我认为处理并发量的问题应该需要数据结构与算法和设计模式这三点来优化。这是往大了说,细说就是工作中,功能每次都是加班超快赶,在多人合作下,如果代码结构与逻辑混乱,后期维护困难,功能不好扩展。由于我们组都是前端人员接下这个项目,对于数据库的设计经验缺乏,才一再出现性能问题,所以我认为学习数据结构与算法尤为重要。本人也是正在学习中,有问题欢迎大家指正。

  第一篇笔记先说说数据结构的基础:

  一·术语:

    1.数据:描述客观事物的符号,是计算机中可以操作的对象,能被计算机识别,并输入给计算机处理的符号集号。个人理解就好像变量一样。 

    2.数据元素:是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。比如人类的数据元素是人。重点在于整体

    3.数据项:一个数据元素可以由若干个数据项组成,重点在于单个,是不可分割的最小单位。比如:一个person集合(数据元素)由'name','age'(数据项)来组成。

    4.数据结构:不同数据元素之间不是独立的,相互之间存在一种或多种特定关系的数据元素的集合。 

  二.数据的逻辑结构与物理结构:

    1.逻辑结构分为集合结构,线性结构,树形结构,图形结构

    (1)集合结构:数据元素除了同属一个集合外,没有其他关系,元素之间是'平等'关系。

集合结构示例图

    (2)线性结构:线性结构中的元素存在一对一的关系

线性结构示例图

    (3) 树形结构:树形结构中的数据存在一对多的层次关系,我们常用的二叉树结构就是树形结构中的一种

树形结构示例图

    (4)图形结构:图形结构的数据元素是多对多的关系

图形结构示例图

    注:一般在设计一个数据结构时,我们习惯将数据元素看做一个结点,用圆表示。元素之间的逻辑关系用连线表示,如果有方向的,可以用带箭头的连线表示。

     2.物理结构:是指数据的逻辑结构在计算机中的存储形式。这里主要指内存,像硬盘,软盘主要用文件结结来描述。

    (1)顺序存储:把数据元素存在地址连续的存储单元里

 顺序存储结构示例图

    (2)链式存储:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。数据在哪没关系,只要指针存放相应的地址知道下一个就到你了就行。

链式存储结构示例图

  三.抽象数据类型

    1.数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。比如在javascript中有number,string,boolean,null,undefined,object

    2.抽象数据类型:是指一个数学模型及定义在该模型上的一组操作。比如在数学的坐标轴中,有(x,y)也有(x,y,z),那么我们可以定义一个轴象数据类型point。

  总结:本篇主要介绍数据结构中的一些术语,虽然都是些概念,不是很好理解,但在之后的学习中结合一些练习与应用,会帮助我们理解。下一篇将介绍一下算法的基础知识,数据结构的学习离不开算法。两者相结合才能体现彼此的优点,发挥正真的作用。我的学习主要参考《大话数据结构》《算法》《数据结构》,大家可以去了解。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据结构(一)之基础知识

    用户2145235
  • 常用页面布局分享

    用户2145235
  • 手把手教你全家桶之React(一)

    用户2145235
  • 数据结构(一)之基础知识

    用户2145235
  • css属性详解

    一、字体属性 字体   font-family可以把多个字体名称作为一个“回退”系统来保存。如果浏览器不支持第一个字体,则会尝试下一个。浏览器会使用它可识...

    人生不如戏
  • Android开发人员初识前端

    <em> 表示强调,<strong> 表示更强烈的强调。并且在浏览器中<em> 默认用斜体表示,<strong> 用粗体表示。两个标签相比,目前国内前端程序员更...

    用户2802329
  • HTML/CSS基础知识学习笔记

    http://www.cnblogs.com/scue/p/4276339.html

    bear_fish
  • css模糊匹配

    CSS2支持的属性选择器用一个表达式[{属性 | 属性 {= | |= | ~=} 值}]

    山河木马
  • 【独家发送】机器学习该如何应用到量化投资系列(四)——关于涨跌的思考基于Python

    编辑部 微信公众号 关键字全网搜索 『量化投资』:排名第一 『量 化』:排名第二 『机器学习』:排名第三 我们会再接再厉 成为全网优质的金融、技术技...

    量化投资与机器学习微信公众号
  • SAP Spartacus url里默认electronics-spa的由来

    这个electronics-spa即使在后台没有连通的情况下也能用,说明肯定不是从后台返回的:

    Jerry Wang

扫码关注云+社区

领取腾讯云代金券