日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

左神算法课笔记(一):时间复杂度、排序、对数器、二分法、异或运算

發(fā)布時(shí)間:2024/2/28 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 左神算法课笔记(一):时间复杂度、排序、对数器、二分法、异或运算 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我們常說(shuō),程序=算法+數(shù)據(jù)結(jié)構(gòu)。結(jié)果光搞框架去了,有點(diǎn)說(shuō)不過(guò)去~

時(shí)間復(fù)雜度

常數(shù)時(shí)間的操作:如果一個(gè)操作的執(zhí)行時(shí)間不以具體樣本為轉(zhuǎn)移,每次執(zhí)行時(shí)間都是固定時(shí)間。稱這樣的操作為常數(shù)時(shí)間操作。
數(shù)組的尋址操作就是固定時(shí)間操作,與數(shù)據(jù)量無(wú)關(guān)。

>>帶符號(hào)右移

>>>不帶符號(hào)右移

常數(shù)時(shí)間的操作包括:

非常數(shù)時(shí)間操作包括:
鏈表獲取i位置的元素

選擇排序

在0~n-1位置中找到最小值,和0位置的數(shù)交換
找1~n-1位置最小值,和1位置的數(shù)交換

直到n-1~n-1,不用操作了

整個(gè)流程中常數(shù)操作的數(shù)量:

我們最終是要將低階項(xiàng)和高階項(xiàng)的系數(shù)抹掉的。





注意











一個(gè)常用的小技巧
1、兩數(shù)相加除以2的時(shí)候,為了避免溢出,應(yīng)該先除以2,再相加
2、右移一位>>比除以2的運(yùn)算更快
3、除以2加1相當(dāng)于先右移再進(jìn)行或1| 1

必須保證兩個(gè)數(shù)在兩個(gè)獨(dú)立的空間,否則自己異或自己結(jié)果為0。這只是一個(gè)騷操作,面試的時(shí)候可能或問(wèn)到,實(shí)際上你寫的時(shí)候不要這么得瑟,因?yàn)槿菀子锌印?br /> 問(wèn)題1
如何在不使用新變量的情況下,交換兩個(gè)數(shù)?

異或運(yùn)算和異或的順序無(wú)關(guān)
下面這道題,將所有的數(shù)全部異或即可





在eor中找最右側(cè)的1,這個(gè)最右側(cè)的1可以將a,b兩個(gè)數(shù)區(qū)分開(kāi)。整個(gè)數(shù)組中,我們根據(jù)eor最右側(cè)1這個(gè)位置,將數(shù)組分為兩部分,其中一部分一定包含a,另一部分一定包含b。然后再分別對(duì)這兩部分進(jìn)行整體的異或操作即可。

總結(jié)

以上是生活随笔為你收集整理的左神算法课笔记(一):时间复杂度、排序、对数器、二分法、异或运算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。