当前位置:   article > 正文

基础算法总结(排序,递归,二叉树----(时间复杂度很重要!!!!!))时时更新_c语言递归先序遍历二叉树时间复杂度

c语言递归先序遍历二叉树时间复杂度
一、排序(参考)

一定要熟悉各个排序的时间复杂度
在这里插入图片描述
1、冒泡排序

两层循环,外层控制趟数,内层两两比价

function sort(arr){
   
var len = arr.length;
for(let i = len-1; i >= 2 ; i--){
   
	for(let j = 0 ; j < len; j++){
   
		if(arr[j]>arr[j+1]){
   
			let temp = arr[j]
			arr[j] = arr[j+1]
			arr[j+1] = temp;
		}
	}
	return arr
}
//优化,使用es6的赋值结构
function sort(arr){
   
var len = arr.length;
for(let i = len-1; i >= 2 ; i--){
   
	for(let j = 0 ; j < len; j++){
   
		if(arr[j]>arr[j+1]){
   
			[arr[j],arr[j+1]] = [arr[j+1],arr[j]]
		}
	}
	return arr
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

2、选择排序

从数组的开头开始,将第一个元素和其他元素作比较,检查完所有的元素后,最小的放在第一个位置,接下来再开始从第二个元素开始,重复以上一直到最后。

function sort(arr){
   
var len = arr.length;
for(let i = 0 ; i <len-1 ; i++){
   
	for( j = i ; j < len ; j++){
   
		if(arr[j] <arr [i]){
   
			[arr[i],arr[j]] = [arr[j],arr[i]]
		}
	}
}
retrun arr
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

3、插入排序

首先将待排序的第一个记录作为一个有序段
从第二个开始,到最后一个,依次和前面的有序段进行比较,确定插入位置

function insertsort(arr){
   
	var len = arr.length
	for(let i = 1 ; i < len ; i
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/681215
推荐阅读
相关标签
  

闽ICP备14008679号