數(shù)據(jù)結(jié)構(gòu)和算法學(xué)習(xí)筆記--增刪查:掌握數(shù)據(jù)處理的基本操作,以不變應(yīng)萬變

在一個數(shù)組中找出出現(xiàn)次數(shù)最多的那個元素的數(shù)值
處理數(shù)據(jù)的核心思路是:

  1. 第一步,根據(jù)原始數(shù)組計算每個元素出現(xiàn)的次數(shù);
  2. 第二步,根據(jù)第一步的結(jié)果,找到出現(xiàn)次數(shù)最多的元素。

這里的數(shù)據(jù)操作包括以下 3 個:

  1. 查找: 看能否在數(shù)據(jù)結(jié)構(gòu)中查找到這個元素,也就是判斷元素是否出現(xiàn)過。
  2. 新增: 針對沒有出現(xiàn)過的情況,新增這個元素。
  3. 改動: 針對出現(xiàn)過的情況,需要對這個元素出現(xiàn)的次數(shù)加 1。

常用的分析方法可以參考下面的 3 個步驟:

  1. 首先,這段代碼對數(shù)據(jù)進行了哪些操作?
  2. 其次,這些操作中,哪個操作最影響效率,對時間復(fù)雜度的損耗最大?
  3. 最后,哪種數(shù)據(jù)結(jié)構(gòu)最能幫助你提高數(shù)據(jù)操作的使用效率?

經(jīng)過我們的分析,數(shù)據(jù)處理的基本操作只有 3 個,分別是增、刪、查。其中,增和刪又可以細分為在數(shù)據(jù)結(jié)構(gòu)中間的增和刪,以及在數(shù)據(jù)結(jié)構(gòu)最后的增和刪。區(qū)別就在于原數(shù)據(jù)的位置是否發(fā)生改變。查找又可以細分為按照位置條件的查找和按照數(shù)據(jù)數(shù)值特征的查找。幾乎所有的數(shù)據(jù)處理,都是這些基本操作的組合和疊加。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容