2022/02/09今天主要看了《大话数据结构》P1-P65

前面的章节讲的知识比较基础,所以看的也很快。只能概括出自己觉得比较重要的东西,别的东西阐述起来倒还不如书上来得准确。

总结起来比较重要的主要三点

1.时间复杂度的计算

时间复杂度的计算主要是体现出一个实现算法的优劣。举个例子吧,我之前实习面试题有一个是这样的

这道题是非常简单的,但是大多数人的第一反应就是一个for循环解决,这样同样可以解决问题,但是,往下看,对比下面这个解决方法就会发现差距

第一种方法,程序要执行n次,n越大,耗费时间越长

第二种方法,程序只需执行一次,无论n为多少

两种方法对比后高下立见!(还好做这题之前看过这一块东西,答题的时候用的就是第二种)

求时间复杂度推导大O阶的步骤

常见的时间复杂度耗时大小排列

这块的东西很好理解,重要的是推算过程。不需多说,简单举个例子

2.顺序存储结构(数组)的存储方式以及增删改查

描述顺序存储结构需要三个属性

顺序存储结构是占用连续的内存地址中间不能有间断。而且必须是同一类型

就像我们排队买火车票一样,一个人接一个人不间断,如果队伍里面出现一条狗,我们会给狗留位置吗?不会!狗是不会出现的队伍里面排队的。数组也是一样的,必须是同一类型。

数组的插入

插入数组尾,那好说,只要不超过数组的容量,他只管往后排便是。前面的元素受影响,就像我们排队买火车票,队伍尾巴来人排队,对我们前面的人并没有影响。

如果插入数组中间,那可麻烦了,因为数组的内存地址是连续不断的,中间有人插队,那么后面的就要依次往后退。就像我们排队买火车票,队伍中间来人插队,插入的这个位置后面的人要依次往后挪动才行。但前提也是不超过数组的容量。如果插入的是队伍头,那就是最糟糕的情况了,整个队伍都要后移。

看看书里的介绍吧

3.链式存储结构(链表)的存储方式以及增删改查

单向链表以前做过项目,比较熟悉,实现过程也比较清楚,就不记了

数据结构之算法与线性表相关推荐

  1. 从零开始学数据结构和算法(二)线性表的链式存储结构

    链表 链式存储结构 定义 线性表的链式存储结构的特点是用一组任意的存储单元的存储线性表的数据元素,这组存储单元是可以连续的,也可以是不连续的. 种类 结构图 单链表 应用:MessageQueue 插 ...

  2. 黑马程序员 C语言数据结构与算法之线性表(链表/栈/队列/顺序表)

    C语言 链表基础知识清晰讲解(黑马) 讲的蛮好,就是音质不太好,有时听不清讲的啥! [黑马]数据结构与算法之线性表(链表/栈/队列/顺序表)[配套源码 嘛蛋,看错了,这是java的... 文章目录 链 ...

  3. rsa算法c语言实现_数据结构与算法之线性表-顺序表实现(C语言版本)

    原文托管在Github: https://github.com/shellhub/blog/issues/52 数据结构与算法之线性表-顺序表实现(C语言版本) 前言 数据结构与算法是一个程序员必备的 ...

  4. 数据结构与算法(一) 线性表之顺序表

     线性表是一种最简单.最常用的数据结构,根据存储方式可以分为顺序表和链表.  顺序表: 顺序表指的是用一组地址连续的存储单元依次存储线性表的数据元素,称为线性表的顺序存储结构或顺序映像(sequent ...

  5. 数据结构和算法基础--线性表

    数据结构和算法基础–线性表 数据结构 = 数据的逻辑结构+数据的存储结构+数据的运算 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-28ek7MfI-164242629 ...

  6. Java数据结构和算法:线性表

    线性表的定义 线性表(linear-list)是最常用最简单的一种数据结构.一个线性表是n (n≥0)个相同类型数据元素的有限序列.记为: L= (a1, a2 , - , an ). 其中,L是表名 ...

  7. 学习笔记-数据结构与算法之线性表

    目录 框架图 线性表 顺序结构 创建线性表 输出验证 获取第i个元素 插入元素到特定位置 删除特定位置元素 整体代码 链式结构 创建链表 输出验证 获取第i个元素 插入元素 删除元素 删除整表 完整代 ...

  8. 数据结构与算法之线性表(超详细顺序表、链表)

    原创公众号:bigsai 文章已收录在 全网都在关注的数据结构与算法学习仓库 欢迎star 前言 通过前面数据结构与算法基础知识我么知道了数据结构的一些概念和重要性,那么我们今天总结下线性表相关的内容 ...

  9. 《数据结构与算法》——线性表顺序存储结构的插入与删除

    什么是线性表? 线性表是最基本.最简单.也是最常用的一种数据结构.线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列. 线性表中数据元素之间的关系是一对 ...

  10. 实验一 线性表的顺序存储与实现_程序员:数据结构与算法,线性表介绍

    线性表 线性表(list):零个或多个数据元素的有限序列. 举个例子:一个班的小朋友,一个跟着一个排队,当中的每个小朋友都知道他前面的是谁,后面的是谁,如同一根线把他们串联起来.就可以称之为线性表. ...

最新文章

  1. python升级知识整理 第五节:文件整理
  2. Linux账户安全管理--useradd、groupadd、passwd、chown、chmod工具
  3. JavaScript 01
  4. java post上传进度,OkHttp实现文件上传进度
  5. 阿里云开发笔记01——CuteFTP使用方法
  6. 计算机中丢失msvcr100.dll怎么办,msvcr100.dll
  7. 如何修改apk服务器,如何修改apk服务器地址
  8. 通过bib文件引入参考文献
  9. [生存志] 第136节 相如辞赋神来之笔
  10. GameCenter 使用指南
  11. 一文搞定计算机网络面试题
  12. SQLServer按照每小时、半小时分组
  13. 【算法】第三届全国大学生算法设计与编程挑战赛(冬季赛)
  14. 使用Timer计时器、PictureBox图片控件做动态图片
  15. go 运算符
  16. 前端下载图片的N种方法
  17. 华清远见重庆中心—JS阶段技术总结/个人总结
  18. 计算机作为信息处理工具 应用于科学研究,计算机2013分春章节试题及答案.doc
  19. 360lib投影格式介绍(二) - 立方体贴图投影(CMP / ACP / EAC / SSP / TSP)
  20. 紫书之路——5-9 数据库

热门文章

  1. (转载)深入理解WeakHashmap
  2. timeSetEvent的用法(一)
  3. Android第三十二期 - 辅助类Android
  4. Matlab中diag函数注意事项
  5. strspn和strcspn妙用
  6. C语言中的static 具体分析
  7. HDOJ 4632
  8. c++中的Debug版本和Release版本的区别
  9. ERROR: Unable to write in /opt/module/hadoop-3.1.3/logs. Aborting
  10. C++算法学习(力扣:1254. 统计封闭岛屿的数目)