数据结构-数组

(该篇基本等价于up主视频的学习笔记记录)

基本概念

  • 线性表:零个或多个数据元素的有限序列

    • 不同的数据物理存储结构
      - 顺序存储结构:数组
      - 链式存储结构:链表
    • 特殊类型(功能比较专一):
      - 栈(先入后出):比如撤销功能
      - 队列(先入先出) :比如客服系统
      (栈和队列底层是通过数组实现的)
  • 数组

    • 连续内存空间中,存储相同类型的元素。
    • 数组索引从0开始计数,即索引n对应数组第n-1个元素
    • 基本操作及其时间复杂度
      • 访问(通过索引获取):O(1)
      • 搜索(通过元素获取):O(n)
      • 插入:O(n)
      • 删除:O(n)
        (访问是指根据索引查询,搜索是指根据指根据值查询)
    • 优点
      • 易查询
    • 缺点:
      • 不易插入删除
      • 需要提前固定存储空间
    • 应用场景:
      • 适用于变化少多查询的线性表

基本操作python实现

#创建
array=[1,2,3,4]
#添加元素5
array.append(5)
#访问第2个元素
num=array[1]
#修改第2个元素为6
array[1]=6
#查找元素3对应的索引
idx=array.index(3)
#插入元素6到索引1
array.insert(1,6)
#删除索引1对应的元素
del array[1]
#删除元素3
array.remove(3)
#获取数组长度
length=len(array)
#遍历数组一:遍历元素
for i in array:
	num=i
#遍历数组二:遍历索引与元素
for idx,i in enumerate(array):
	index=idx
	num=i
#数组排序,参数reverse默认为False
array.sort()

题目

熟悉数据结构

485. 最大连续 1 的个数

熟悉数据结构+算法

这里例举一般遇到链表题都有哪些解法,建议先看算法解题套路相关文章

重中之重

八大排序算法(后续会单独出一章)
八大经典排序算法详解
排序稳定性

对应题目请见912. 排序数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值