Java教程

算法与数据结构笔记

本文主要是介绍算法与数据结构笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

这里写目录标题

  • 1. 时间复杂度
    • 1.1 例题01

异或运算:不进位相加

1. 时间复杂度

所谓常数操作就是跟数据量无关,是一个固定时间的操作。(加减乘除位运算等等)
冒泡排序的时间复杂度为 O ( n 2 ) O(n^2) O(n2)

评价一个算法流程的好坏,先看时间复杂度的指标,然后再分析不同数据样本下的实际运行时间,也就是“常数项时间”。

两个数交换:
a = a 异或 b
b = a 异或 b
a = a 异或 b

public static void swap(int[] arr,int i, int j){
	arr[i] = arr[i]^arr[j];
	arr[j] = arr[i]^arr[j];
	arr[i] = arr[i]^arr[j];
}

// i 不能等于 j,不能是同一个内存区域

1.1 例题01

这篇关于算法与数据结构笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!