数据结构概念
数据结构是数据元素的集合,有两种表现形式:逻辑结构,存储结构
逻辑结构
- set 集合
- linearity 线性结构 (线性数组、栈、队列)
- tree 树形结构 (二叉树等等)
- graph 图状结构
如下所示
存储结构
顺序映像、非顺序映像
顺序结构:一维数组存储 非顺序结构:对象引用存储
基本数据类型
是一组性质相同的数据元素的集合,以及加载这个集合上的一组操作 例如int
抽象数据类型
是一种数据模型和该数据模型上的一组操作组成
算法的五种基本特性
输入、输出、确定性、可行性、有穷性
时间空间复杂度
冒泡排序:
function bubbleSort(arr){
for(let i = 0 ;i < arr.length - 1 ; i ++){
for(let j = i +1 ; j < arr.length;j ++){
if(arr[i] < arr[j]){
let temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
时间复杂度 (n^2)
空间复杂度 (1)
选择排序:
function selectSort(arr){
for(let i = 0 ;i < arr.length - 1 ; i ++){
let minIndex = i;
for(let j = i +1 ; j < arr.length;j ++){
if(arr[j] < arr[minIndex]){
minIndex = j;
}
}
if(minIndex != i){
let temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
}
时间复杂度 (n^2)
空间复杂度 (1)
剩下的排序算法 未完待续.....