數據結構算法模擬系統

一、前言

  學習數據結構已經有很長時間了,加上之前搞過一段時間的ACM,雖然搞得并不怎么樣吧,但是喜歡的東西不能放棄,一直打算寫一個算法模擬系統,對常用的一些算法進行簡單的模擬,于是我的畢業設計就這樣誕生了。我相信這個簡單的系統可以給初學數據結構和算法的人帶來一定的幫助。在此做個介紹并留個紀念。另外,我很喜歡一個朋友的作品,分享給大家,希望你們也能喜歡。

二、項目中用到的設計模式

    mvc模式+觀察者模式

  其中Model需要繼承Observalbe類,充當被觀察者,View需要實現Obsever接口,充當觀察者。

  被觀察者類要添加它的觀察者類,調用addObserver(Observer o)方法來添加觀察者,addObserver()方法把觀察者對象添加到觀察者對象列表中。如果被觀察事件發生了,需要通知觀察者事件發生了,然后觀察者會做出相應的處理,要執行的語句是setChanged()notifyObservers()。其中setChange()方法將內部的一個標志位變動一下,表示內容已經發生了變化,?notifyObservers()方法會去調用觀察者對象列表中所有的Observerupdate()方法,通知它們數據發生了變化。只有在setChange()被調用后,notifyObservers()才會去調用update()

三、數據結構中一些模型的設計

?

四、項目功能模塊

  1.系統前臺設計

?

  2.系統后臺設計

?

五、效果展示

  界面很丑啊,沒辦法,藝術細菌太少了......

?

   ? ? ? ? ? ? ? ? 模擬系統之選擇算法分類 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?模擬系統之選擇具體的算法進行模擬

?

      ?模擬系統之點擊開始                  ? ? 模擬系統之輸入算法所需要的數據

?

      ?模擬系統之算法模擬開始                練習系統之查看算法題目

?

      練習系統之編輯代碼并提交運行                用戶交流之登錄

?

      用戶交流之注冊                    用戶交流之發送消息

?

      用戶交流之發送模板郵件                用戶交流之收到模板郵件

六、秀一下朋友的作品

  如果無法顯示,請使用火狐或者谷歌瀏覽器或者請戳 這里 瀏覽。作品很好,我很喜歡,你們呢?這藝術細胞,嘎嘎的啊!

作者: 常雪

聯系方式(qq或微信):

? ? ? ? 1141884216

第一次利用github來部署靜態網頁,在這里記錄一下:

  用 GitHub 來部署靜態網頁:?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

如果你想修改這個例子中的圖片,看一下?3D圖片切換demo?這個demo,我這里簡單封裝了一個jquery插件,直接引用插件并修改參數就可以了。?

七、完整項目地址

?  這里介紹了項目如何配置運行,以及項目的源碼,請詳細閱讀README.md這個文件。如果有什么疑問,歡迎留言或者qq聯系我。

  我的畢設: https://github.com/hjzgg/Graduation_Design

八、感受

  這個畢設項目持續了2個多月,每個算法的模擬實現都是根據個人的想法,簡單的1天就搞定了,復雜的3,4天才搞定。因為時間有限,只是將數據結構大學課本中的一些常用算法進行了模擬,完成之后感覺對javase的使用更加熟練了,期間更嘗試了mvc+觀察者的設計模式。由于做畢設期間還在實習,所以項目的后臺工程也就是本次實習用到的java web技術,例如maven,springmvc,springdata jpa等等。整個項目用到了大學里編程中的大部分知識,也用到了實習過程中的一些知識,對我來這個畢設真是大學四年期間和實習期間知識與技術積累的一個總結,無論好與壞,這都是自己的進步。慢慢積累,慢慢成長。

轉載于:https://www.cnblogs.com/hujunzheng/p/5576233.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531307.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531307.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531307.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python語言map函數及map object at 亂碼錯誤

文章目錄一、map函數的簡介1、map函數的作用2、語法格式3、舉例例1、例2、二、報錯一、map函數的簡介 1、map函數的作用 對某個序列以給定的函數格式作映射。 2、語法格式 map(function,iterable) ??function可以填函數,也可以填數據類型 3、舉例 例1、 a [1,2,…

推薦幾款jquery圖片切換插件

一、前言 畢業季到了,大家都在匆匆忙忙的記錄大學里最美好的時光,照片中各種花式、各種姿勢都涌現出來了。這么多的照片怎么展示出來給自己的好友看呢?有人選擇做成視頻,有人選擇ps之后做成圖片集,而我選擇利用靜態網頁…

c語言表白

馬上就要520了&#xff0c;不少小伙伴們一定開始想盡各種辦法進行表白了…那么身為奔跑在程序員道路上的我們也一定要有獨特的表白方法&#xff01; 下面是一段表白代碼&#xff0c;請直接搬去用吧&#xff01;&#xff01;&#xff01; #include <stdio.h> void change…

java注意的一些細節問題

1. 大括弧作用域問題 public static void main(String[] args) {{int x;{int x;//編譯錯誤&#xff1a;Duplicate local variable x}} } 2.boolean值的運算 public static void main(String[] args) {if(true && false) {}if(true & false) {}System.out.println(t…

python表白

馬上就要520了&#xff0c;不少小伙伴們一定開始想盡各種辦法進行表白了…那么身為奔跑在程序員道路上的我們也一定要有獨特的表白方法&#xff01; 下面是一段表白代碼&#xff0c;請直接搬去用吧&#xff01;&#xff01;&#xff01; import turtle import timedef hart_ar…

git revert和reset區別

1.在github上建立測試項目并克隆到本地 2.本地中新建兩個文本文件 3.將a.txt commit并push到遠程倉庫 執行 git add a.txt, git commit -m "a.txt", git push 4.將b.txt提交到本地倉庫&#xff0c;不執行push 通過gitk命令查看提交歷史如下&#xff1a; 情景&#xf…

python基礎知識點整理(1)

目錄一、變量與數據類型1、變量① 變量的命名規則2、字符串常用的庫函數二、列表1、列表的基礎定義2、列表常用的庫函數3、for循環與列表4、列表切片5、元組三、if語句四、字典1、字典定義2、對字典的操作一、變量與數據類型 1、變量 ① 變量的命名規則 只能包含數字、字母以…

sorl6.0+jetty+mysql搭建solr服務

1.下載solr 官網&#xff1a;http://lucene.apache.org/solr/ 2.目錄結構如下 3.啟動solr&#xff08;默認使用jetty部署&#xff09; 在path路徑下將 bin文件夾對應的目錄加入&#xff0c;然后輸入 solr start&#xff08;或者 solr start -p port&#xff0c;指定端口啟動&am…

Maven中安裝本地Jar包到倉庫中或將本地jar包上傳

摘要 maven install 本地jar命令格式 mvn install:install-file -DgroupId<group_name> -DartifactId<artifact_name> -Dversion<version_no> -Dfile<path_of_the_local_jar> -Dpackagingjar -DgeneratePomtrue 示例 mvn install:install-file -Dgroup…

二維碼登錄原理及生成與解析

一、前言 這幾天在研究二維碼的掃碼登錄。初來乍到&#xff0c;還有好多東西不懂。在網上看到有人寫了一些通過QRCode或者Zxing實現二維碼的生成和解碼。一時興起&#xff0c;決定自己親手試一試。本人是通過QRCode實現的&#xff0c;下面具體的說一下。 二、二維碼原理 基礎知…

knockout+echarts實現圖表展示

一、需要學習的知識 knockout, require, director, echarts, jquery。簡單的入一下門&#xff0c;網上的資料很多&#xff0c;最直接就是進官網校習。 二、效果展示 三、require的配置 require.config.js中可以配置我們的自定義模塊的加載。 require.config({baseUrl: ".&…

Maven在Eclipse中的實用小技巧

前言 我們在開發的工程中很多都是Maven項目&#xff0c;這樣更加便于我們jar包的管理。而我們一般使用的IDE都是Eclipse&#xff0c;由于我們在日常的開發過程中會經常要用到一些Maven的操作&#xff0c;所以我今天主要跟大家分享一下我們在日常開發中的Maven實用小知識&#x…

React中使用Ant Table組件

一、Ant Design of React http://ant.design/docs/react/introduce 二、建立webpack工程 webpackreact demo下載 項目的啟動&#xff0c;參考 三、簡單配置 1.工程下載下來之后&#xff0c;在src目錄下新建目錄“table”&#xff0c;新建app.js&#xff0c;內容如下。 import R…

解決“Dynamic Web Module 3.0 requires Java 1.6 or newer.”錯誤

一、問題描述 1.錯誤截圖如下。 2.設計的問題 在Eclipse中新建了一個Maven工程, 然后更改JDK版本為1.6, 結果每次使用Maven > Update project的時候JDK版本都恢復成1.5。 二、原因分析 Maven官方文檔有如下描述&#xff1a; 編譯器插件用來編譯項目的源文件.從3.0版本開始, …

java自定義注解類

一、前言 今天閱讀帆哥代碼的時候&#xff0c;看到了之前沒有見過的新東西, 比如java自定義注解類&#xff0c;如何獲取注解&#xff0c;如何反射內部類&#xff0c;this$0是什么意思? 于是乎&#xff0c;學習并整理了一下。 二、代碼示例 import java.lang.annotation.Elemen…

解決cookie跨域訪問

一、前言 隨著項目模塊越來越多&#xff0c;很多模塊現在都是獨立部署。模塊之間的交流有時可能會通過cookie來完成。比如說門戶和應用&#xff0c;分別部署在不同的機器或者web容器中&#xff0c;假如用戶登陸之后會在瀏覽器客戶端寫入cookie&#xff08;記錄著用戶上下文信息…

React使用antd Table生成層級多選組件

一、需求 用戶對不同的應用需要有不同的權限&#xff0c;用戶一般和角色關聯在一起&#xff0c;新建角色的時候會選擇該角色對應的應用&#xff0c;然后對應用分配權限。于是寫了一種實現的方式。首先應用是一個二級樹&#xff0c;一級表示的是應用分組&#xff0c;二級表示的是…

junit4進行單元測試

一、前言 提供服務的時候&#xff0c;為了保證服務的正確性&#xff0c;有時候需要編寫測試類驗證其正確性和可用性。以前的做法都是自己簡單寫一個控制層&#xff0c;然后在控制層里調用服務并測試&#xff0c;這樣做雖然能夠達到測試的目的&#xff0c;但是太不專業了。還是老…

快速搭建springmvc+spring data jpa工程

一、前言 這里簡單講述一下如何快速使用springmvc和spring data jpa搭建后臺開發工程&#xff0c;并提供了一個簡單的demo作為參考。 二、創建maven工程 http://www.cnblogs.com/hujunzheng/p/5450255.html 三、配置文件說明 1.application.properties jdbc.drivercom.mysql.jd…

dubbo服務提供與消費

一、前言 項目中用到了Dubbo&#xff0c;臨時抱大腿&#xff0c;學習了dubbo的簡單實用方法。現在就來總結一下dubbo如何提供服務&#xff0c;如何消費服務&#xff0c;并做了一個簡單的demo作為參考。 二、Dubbo是什么 Dubbo是一個分布式服務框架&#xff0c;致力于提供高性能…