01.概念

  1. 数据结构:就是指一组数据的存储结构

  2. 算法:就是操作数据的一组方法

  3. 数据结构是为算法服务的,算法要作用在特定的数据结构之上

  4. 随机访问 v.s. 顺序访问

    随机访问是说你可以随意访问该数据结构中的任意一个节点,假设该数据结构有10个节点,你可以随意访问第1个到第10个节点。 
    对于列表而言,如果其存在10个节点,如果你要访问第5个节点,你只能从列表的头或者尾,依次遍历相邻的每一个节点; 
    对于vector而言,你可以直接利用[]操作符,直接访问[4],不需要遍历其他的节点。 
    这就是随机访问。
    
    比如first是第一个元素的地址,现在想访问第N个元素。
    
    随机访问:直接first+N,便可以得到第N个元素的地址,因为这些相邻元素是按顺序连续存储的。 
    比如普通数组就是可随机访问的。
    
    而链表不支持随机访问,链表存储的元素,它们的存储地址也不是连续的,是随机的。 
    要想访问第N个元素,只能从second = first->next遍历第2个元素,然后再three = first->next遍历第3个元素… 这样一直到第N个元素。所以这样的访问速度就没有随机访问快。
    
    在计算机科学中,随机存取(有时亦称直接访问)代表同一时间访问一组序列中的一个随意组件。反之则称循序访问,即是需要更多时间去访问一个远程组件。介分两者的传统图解就似比较一轴古代画卷(循序︰所有在组件之前的物料必须事先卷开)及一本图书(随机︰可以随时翻至任何一页)。而更近现代的例子就如比较卡式磁带(循序︰我们必须快速跳过早前的歌曲才可聆听后期的歌曲)及一张CD(随机︰我们可以随意跳至我们想要之处)。不过,RAM一词却被用以作为计算机中的半导体芯片存储器电路。
    
    于数据结构中,随机存取暗指可由一堆数字之中,能够持续访问N值的能力,而且除了数组(及相关结构,例如动态数组)以外,绝少数据结构能够作出类似程序。另外,随机存取对不少算法,如快速排序及二元搜索而言不可或缺。其他数据结构,如合并排序,则凭随机存取作出有效率的输入、删除抑或搜索功能。
    
  5. 数据结构是静态的,它只是组织数据的一种方式,如果不在它的基础上操作,构建算法,孤立存在的数据结构是没有用的。

  6. 数据结构和算法解决的是如何更省、更快地存储和处理数据的问题,因此我们就需要一个考量效率和资源消耗的方法,这就是复杂度分析方法。

  7. 是什么?为什么?怎么样?

  8. 概览图
    在这里插入图片描述

  9. 要求

  10. 边学边练习,刷题,课中涉及到的数据结构和算法,全部自己写出来,用代码实现一遍

  11. 多思考,多问为什么,多看留言参与讨论

  12. 每篇学完,必须写一篇学习笔记

  13. 持续沉淀

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值