最清晰 | 自学算法第一天之数组篇

目录

一、数组:

二、二分查找

1、条件:

2、判断:

3、复杂度

三、移除元素

1、由于数组空间是连续的,不能删除,只能覆盖

2、方法:双指针法(快慢指针法)

3、过程:

4、步骤:

5、复杂度:

四、有序数组的平方并排序

1、要点:

2、方法:双指针法

3、过程:

4、步骤:

5、复杂度:


一、数组:

1、连续存放,内存空间是连续的

2、数组元素不可删除,只能覆盖

3、下标从0开始

4、定义:

        int arry[ ]={1,2};

        int *arry;

        int arry[ ][ ]={"1,2","3,4"};

        int **arry;

二、二分查找

1、条件:

        数组num[ ]元素有序

        left、mid、right  【mid=(left+right)/ 2】、查找元素target

2、判断:

        前提:left <= right

        令mid=(left+right)/ 2

        比较target、num[mid ]:

                target>num[mid ]:left=mid+1

                target<num[mid ]:right=mid-1

                target=num[mid ]:查找成功!

3、复杂度

     时间复杂度:O(log n)

     空间复杂度:O(1)

三、移除元素

1、由于数组空间是连续的,不能删除,只能覆盖

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值