背景
做這個(gè)項(xiàng)目的初衷其實(shí)是為了讓自己更加了解一些常用算法,在學(xué)習(xí)算法的同時(shí),利用iOS的動(dòng)畫形式展現(xiàn)出來.算法雖然簡潔,但用動(dòng)畫描述出來感覺并沒有想象中那么容易.
計(jì)劃
這個(gè)項(xiàng)目的前期可能會(huì)針對一些基本的算法進(jìn)行描述,例如排序,動(dòng)態(tài)規(guī)劃,KPM,貪心
等等算法,中后期會(huì)逐漸將一些算法競賽題或面試題來描述成動(dòng)畫,如劍指offer
里的經(jīng)典例題,以及LeetCode
上的例子等.
當(dāng)前進(jìn)度
目前已經(jīng)完成了一部分的排序算法.如下圖所示,當(dāng)然非常簡單了:
bubble.gif
insert.gif
select.gif
shell.gif
radix.gif
目標(biāo)
讓自己對算法有更深的理解,并且同時(shí)提高iOS動(dòng)畫制作能力.
不足
目前有一些不足的地方:
- 動(dòng)畫簡單.
- 文字說明較少,最好是跟隨動(dòng)畫過程展示.
- 對于時(shí)間復(fù)雜度和空間復(fù)雜度并沒有很好的展示.
結(jié)語
總的來說,目前這個(gè)項(xiàng)目還很基礎(chǔ),也希望有更多人參與進(jìn)來,不光理解算法而且能制作出更多易懂并且炫麗的動(dòng)畫.