数据结构入门

136 阅读1分钟

数据结构概念

数据结构是数据元素的集合,有两种表现形式:逻辑结构,存储结构

逻辑结构

  1. set 集合
  2. linearity 线性结构 (线性数组、栈、队列)
  3. tree 树形结构 (二叉树等等)
  4. 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;
            }
        }
    }
}

时间复杂度 OO(n^2)
空间复杂度 OO(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;
        }
    }
}

时间复杂度 OO(n^2)
空间复杂度 OO(1)

剩下的排序算法 未完待续.....