###### tags: `Algorithm` # 時間複雜度[1] * 時間複雜度BigO,橫軸處理n=1~100,縱軸N時間 * O(1):最佳,處理n=10只需要花N=1的時間,無論處理多少n只需花N=1的時間 * O(logN) * O(N) * O(NlogN) * O(N^2):最差,處理n=10需花N=100時間 ![](https://i.imgur.com/CvCPdUa.png =50%x) ## Example1 N->infinite 1. O(3)+O(N)=O(N) 2. O(logN)+O(logN)+O(logN)=O(logN) 3. O(N)+O(N^2)=O(N^2) ## Example2 1. O(1) ![](https://i.imgur.com/wUylMOX.png =20%x) 2. O(N) ![](https://i.imgur.com/NZhVT9k.png =20%x) 3. O(3N),但N->infinite->O(N) ![](https://i.imgur.com/8YWnKGh.png =20%x) 4. O(N/2)->O(N) ![](https://i.imgur.com/pXerkvF.png =20%x) 5. 假設n=100->n=50->n=25->....每次都是處理一半->O(logN) ![](https://i.imgur.com/BR5sbe6.png =20%x) ## Reference 1. https://www.youtube.com/watch?v=iwCUOKhIhAA&list=PLhxdaTcUMi3nRM5mtOdQgO4VEtAEsTiYd&index=21