数据结构与算法之数组

数组是一种简单的数据结构,它占用一块连续的内存并按照顺序存储数据,在创建数据时必须指定容量大小;

  • 优点:时间效率高,即查找效率高O(1),而且可以实现简单的哈希表;
  • 缺点:空间效率低,即使只存储一个数据也要为所有数据分配空间,而且插入和删除效率低O(n);

1 二维数组的查找(剑指offer---面试题3)

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

  • bool Find(int *matrix, int rows, int cols, int number);

解题思路:

(1)首先选取数组中右上角(左下角也可以)的数字,若该数字 = number,则查找过程结束;

(2)若该数字 > number,则剔除该数字所在的列;

(3)若该数字 < number,则剔除该数字所在的行;

2 未完待续~

猜你喜欢

转载自www.cnblogs.com/bo1990/p/11441961.html