天天看點

面試常見算法

1.概述

    本博從工作以來經曆過不少面試,既然是軟體行業那麼面試少不了算法,就像電影少不了高潮一樣。算法是考察人的基本邏輯能力和探索能力,但是基礎算法不掌握或者接觸的算法很少,即使邏輯能力和數學能力再強的人在短短的面試時間内也解決不了很多基礎算法問題。

2.基礎算法題

    本文記錄的算法都是本博的積累,高手勿噴,喜歡可以觀摩、收藏、交流,共享知識是件快樂的事情,有建議可以留言共同探讨。

2.1 排序算法

    常見的排序算法為插入算法(直接插入,希爾排序)、交換算法(冒泡排序,快排)、選擇算法(直接選擇、堆排序),還有用的比較少的桶排序,歸并排序。

2.1.1 插入排序

    直接插入:從無序清單中拿出一個值插入有序清單中适當的位置,使得插入後有序清單仍然有序。     代碼: