数据结构算法模拟系统
一、前言
學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)已經(jīng)有很長(zhǎng)時(shí)間了,加上之前搞過(guò)一段時(shí)間的ACM,雖然搞得并不怎么樣吧,但是喜歡的東西不能放棄,一直打算寫一個(gè)算法模擬系統(tǒng),對(duì)常用的一些算法進(jìn)行簡(jiǎn)單的模擬,于是我的畢業(yè)設(shè)計(jì)就這樣誕生了。我相信這個(gè)簡(jiǎn)單的系統(tǒng)可以給初學(xué)數(shù)據(jù)結(jié)構(gòu)和算法的人帶來(lái)一定的幫助。在此做個(gè)介紹并留個(gè)紀(jì)念。另外,我很喜歡一個(gè)朋友的作品,分享給大家,希望你們也能喜歡。
二、項(xiàng)目中用到的設(shè)計(jì)模式
mvc模式+觀察者模式
其中Model需要繼承Observalbe類,充當(dāng)被觀察者,View需要實(shí)現(xiàn)Obsever接口,充當(dāng)觀察者。
被觀察者類要添加它的觀察者類,調(diào)用addObserver(Observer o)方法來(lái)添加觀察者,addObserver()方法把觀察者對(duì)象添加到觀察者對(duì)象列表中。如果被觀察事件發(fā)生了,需要通知觀察者事件發(fā)生了,然后觀察者會(huì)做出相應(yīng)的處理,要執(zhí)行的語(yǔ)句是setChanged()和notifyObservers()。其中setChange()方法將內(nèi)部的一個(gè)標(biāo)志位變動(dòng)一下,表示內(nèi)容已經(jīng)發(fā)生了變化,?notifyObservers()方法會(huì)去調(diào)用觀察者對(duì)象列表中所有的Observer的update()方法,通知它們數(shù)據(jù)發(fā)生了變化。只有在setChange()被調(diào)用后,notifyObservers()才會(huì)去調(diào)用update()。
三、數(shù)據(jù)結(jié)構(gòu)中一些模型的設(shè)計(jì)
?
四、項(xiàng)目功能模塊
1.系統(tǒng)前臺(tái)設(shè)計(jì)
?
2.系統(tǒng)后臺(tái)設(shè)計(jì)
?
五、效果展示
界面很丑啊,沒(méi)辦法,藝術(shù)細(xì)菌太少了......
?
? ? ? ? ? ? ? ? 模擬系統(tǒng)之選擇算法分類 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?模擬系統(tǒng)之選擇具體的算法進(jìn)行模擬
?
?模擬系統(tǒng)之點(diǎn)擊開始 ? ? 模擬系統(tǒng)之輸入算法所需要的數(shù)據(jù)
?
?模擬系統(tǒng)之算法模擬開始 練習(xí)系統(tǒng)之查看算法題目
?
練習(xí)系統(tǒng)之編輯代碼并提交運(yùn)行 用戶交流之登錄
?
用戶交流之注冊(cè) 用戶交流之發(fā)送消息
?
用戶交流之發(fā)送模板郵件 用戶交流之收到模板郵件
六、秀一下朋友的作品
如果無(wú)法顯示,請(qǐng)使用火狐或者谷歌瀏覽器或者請(qǐng)戳 這里 瀏覽。作品很好,我很喜歡,你們呢?這藝術(shù)細(xì)胞,嘎嘎的啊!
作者: 常雪
聯(lián)系方式(qq或微信):
? ? ? ? 1141884216
第一次利用github來(lái)部署靜態(tài)網(wǎng)頁(yè),在這里記錄一下:
用 GitHub 來(lái)部署靜態(tài)網(wǎng)頁(yè):?https://segmentfault.com/a/1190000002765287
部署成功的demo:?https://github.com/hjzgg/picChangeTest
demo演示效果:?http://hjzgg.github.io/picChangeTest
3D圖片切換demo:?https://github.com/hjzgg/3D_PictureChange
如果你想修改這個(gè)例子中的圖片,看一下?3D圖片切換demo?這個(gè)demo,我這里簡(jiǎn)單封裝了一個(gè)jquery插件,直接引用插件并修改參數(shù)就可以了。?
七、完整項(xiàng)目地址
? 這里介紹了項(xiàng)目如何配置運(yùn)行,以及項(xiàng)目的源碼,請(qǐng)?jiān)敿?xì)閱讀README.md這個(gè)文件。如果有什么疑問(wèn),歡迎留言或者qq聯(lián)系我。
我的畢設(shè): https://github.com/hjzgg/Graduation_Design
八、感受
這個(gè)畢設(shè)項(xiàng)目持續(xù)了2個(gè)多月,每個(gè)算法的模擬實(shí)現(xiàn)都是根據(jù)個(gè)人的想法,簡(jiǎn)單的1天就搞定了,復(fù)雜的3,4天才搞定。因?yàn)闀r(shí)間有限,只是將數(shù)據(jù)結(jié)構(gòu)大學(xué)課本中的一些常用算法進(jìn)行了模擬,完成之后感覺(jué)對(duì)javase的使用更加熟練了,期間更嘗試了mvc+觀察者的設(shè)計(jì)模式。由于做畢設(shè)期間還在實(shí)習(xí),所以項(xiàng)目的后臺(tái)工程也就是本次實(shí)習(xí)用到的java web技術(shù),例如maven,springmvc,springdata jpa等等。整個(gè)項(xiàng)目用到了大學(xué)里編程中的大部分知識(shí),也用到了實(shí)習(xí)過(guò)程中的一些知識(shí),對(duì)我來(lái)這個(gè)畢設(shè)真是大學(xué)四年期間和實(shí)習(xí)期間知識(shí)與技術(shù)積累的一個(gè)總結(jié),無(wú)論好與壞,這都是自己的進(jìn)步。慢慢積累,慢慢成長(zhǎng)。
轉(zhuǎn)載于:https://www.cnblogs.com/hujunzheng/p/5576233.html
總結(jié)
以上是生活随笔為你收集整理的数据结构算法模拟系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: n维数组实现(可变参数表的使用)
- 下一篇: 美宜佳便利店加盟成功案例多吗?