【数据结构一】数组

数据结构与算法:

数据结构就是在计算机中存储和组织数据的方式。常见的数据结构很多,比如有数组、栈、队列、链表、散列表、树、图、堆等等。每一种都有其对应的应用场景,不同的数据结构的不同操作性能是不同的,在开发中要根据具体的需求来选择。

算法可以理解为解决问题的步骤逻辑。不同算法的效率是不同的。

生活中的数据结构与算法:

程序是对现实生活的抽象。

生活中的数据结构和算法,比如有:图书馆图书的摆放,为了更加方便的放置新的书籍和在需要的时候能购找到书籍,需要合理的组织数据,并且通过高效的算法插入和查询数据。

数组(有些编程语言中称为列表):

要存储多个元素,数组可能是最常用的数据结构。几乎每种编程语言都有默认实现数组结构。

数组结构的优点:通过下标值存取元素效率非常高。

数组结构的缺点:

  1. 数组的创建通常需要申请一段连续的内存空间(一整块的内存)。

  2. 数组的大小是固定的,如果当前数组不能满足容量需求,那么久需要进行扩容(虽然 JS 中数组的大小不是固定的,但是大多数编程语言都是固定的)。

    扩容:一般情况是申请一个更大的数组,然后将当前数组中的元素复制过去。

  3. 在一个数组中进行插入和删除元素的成本很高,需要进行大量元素的位移。(比如:一个数组中有 10000 个元素,想要在第 100 位插入一个元素,那么原先在第 100 位及之后的元素都需要向后挪动一位)。

在 JS 中,对数组结构的封装已经非常完善了,因此就不再进行对 Array 的封装了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值