一、什么是数据结构
以某种特定的布局方式存储数据的容器。这种布局方式决定了数据结构对于某些操作是高效的。
二、为什么需要数据结构
数据是计算科学中最关键的实体,而数据结构则可以将数据以某种组织形式存储,因此,数据结构的价值不言而喻
需要根据不同的场景,按照特定的格式进行存储,有很多数据结构能够满足不同格式存储数据的需求
三、常见的数据结构
1、数组
2、栈
3、队列
4、链表
5、树
6、图
7、字典树(这是一种高效的树形结构)
8、散列表(哈希表)
四、介绍
1、数组
数组是最简单的,也是最广泛使用的数据结构,栈、队列等其他数据结构都是由数组演变过来的
数组的基本操作
insert--在指定索引位置插入一个元素
get--返回指定索引位置的元素
delete--删除指定索引位置的元素
size--得到数组所有元素的数量
面试常见问题
1、寻找数组中第二小的元素
1、简单的方法
int arr[]={-1,2,33,5,2,5,62,17,4};
Arrays.sort(arr);
int secondNum=arr[0];
for(int i=0;i<arr.length;i++){
if(arr[i]>secondNum){
secondNum=arr[i];
break;
}}
System.out.println(secondNum);
2、冒泡排序 时间复杂度 O(n²) 稳定排序算法
int arr[]={-1,2,33,5,2,5,62,17,4};
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-i-1;j++){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
int sec=arr[0];
for(int i=0;i<arr.length;i++){
if(arr[i]<sec){
sec=arr[i];
break;
}
}
2、找到数组中第一个不重复的出现的整数
3、合并两个有序数组
4、重新排列数组中的正值和负值
五、