您現在的位置是:電腦技術吧?>? 組裝維修 ??>??迭代算法的例子,迭代重建算法??>??正文詳情

迭代算法的例子,迭代重建算法

士夢晨2019-12-20 12:42:18 人圍觀
簡介迭代計算什么意思在網頁上實現樹結構有點麻煩。在一個新的MIS系統的開發中,我們的項目組廣泛使用了樹形結構,如人員的選擇和單元的選擇。該MIS系統的數據庫是Oracle 9i,o斐波那契

在web頁面上實現樹狀結構,有點麻煩.在最近的一個MIS系統的開發中,我們項目組大量用到了樹結構:比如人員的選擇,單位的選擇等待.這個MIS系統所用的數據庫是oracle 9i. oracle 9i 的sql支持迭代查詢.我們的樹是由牛人彭越寫的,不過也參照了網絡上比較著名的xtree(可以到此下載:http://webfx.eae.net/),他的樹算法支持無限級的樹結構,不過性能好像很慢.我持保留態度.他用到的關鍵技術就是這句話:String sql = select dwxh,dwbh,dwmc,dwfxh,level cc from xt_dw connect by prior dwxh = dwfxh start with dwfxh = 0;可是許多數據庫不支持迭代查詢,并且迭代查詢速度真是不能忍受.有什么更好的辦法呢.下面說說我的解決方案.一:需求的提出1:客戶需要一個關于部門人員的樹結構,數據庫為mysql4.12:java實現二:建表:1:用戶信息表:各字段為:用戶序號,用戶編號,用戶名稱,單位序號,密碼,用戶登陸號create table XT_YH( YHXH INT(9) NOT NULL auto_increment PRIMARY KEY, YHBH VARCHAR(30), YHMC VARCHAR(30), DWXH INT(9), PWD VARCHAR(20), YHDLH VARCHAR(30))--插入三條測試數據:--insert into xt_yh(yhbh,yhmc,dwxh,pwd,yhdlh) values('licl','李春雷',2,'password','licl')--insert into xt_yh(yhbh,yhmc,dwxh,pwd,yhdlh) values('fengx','馮欣',2,'password','fengx')--insert into xt_yh(yhbh,yhmc,dwxh,pwd,yhdlh) values('wangqx','王慶香',6,'password','wangqx')2:單位部門表各字段為:單位序號,單位編號,單位名稱,單位父序號create table XT_DW( DWXH int(9) NOT NULL auto_increment PRIMARY KEY, DWBH VARCHAR(10), DWMC VARCHAR(30), DWFXH int(9))--插入5條測試數據--insert into xt_dw(dwbh,dwmc,dwfxh) values('0100000000','武漢科技局',0);--insert into xt_dw(dwbh,dwmc,dwfxh) values('0101000000','人事處',1);--insert into xt_dw(dwbh,dwmc,dwfxh) values('0102000000','后勤處',1);--insert into xt_dw(dwbh,dwmc,dwfxh) values('0101010000','人事處son1',2);--insert into xt_dw(dwbh,dwmc,dwfxh) values('0101020000','人事處son2',2);--insert into xt_dw(dwbh,dwmc,dwfxh) values('0102010000','后勤處son1',3);注意:為了實現快速的樹結構實現,我需要充分利用單位編號DWBH,DWBH才有10位編碼,其中,第一第二位表示一級單位,第三第四位表示二級單位,第五六位表示三級單位...那么10位編碼就可以實現五級單位的樹結構.比如:測試數據的樹結構如下: 1 武漢科技局:2 人事處3 人事處son13 人事處son22 后勤處3后勤處son1其實XT_DW表中的父序號是多余的.不過如果你要用迭代算法來實現,就是必須的才有10位編碼,我只需要一句簡單快速的sql語句就可以實現樹結構:String sql = select dwxh,dwbh,dwmc,dwfxh from xt_dw order by dwbh這句sql在幾乎所有的數據庫平臺都能執行,速度也快.下面貼出采用xtree,用10位編碼而不是迭代算法實現的樹:/*******Constants.java**********/package com.lcl.common;public class Constants {public static final String DBDRIVER = com.mysql.jdbc.Driver; //MYSQL驅動public static final String DBUrl=jdbc:mysql://localhost/beauoa; //數據庫urlpublic static final String USERNAME=root; //數據庫用戶名public static final String PASSWORD=root; //數據庫密碼}/**********DbAccess.java****************/package com.lcl.common;import java.sql.*;import java.lang.*;/*** @author 李春雷** TODO 要更改此生成的類型注釋的模板,請轉至* 數據庫訪問類*/public class DbAccess{String strDBDriver = Constants.DBDRIVER;String strDBUrl = Constants.DBUrl;String username = Constants.USERNAME;String password = Constants.PASSWORD;private Connection conn = null;private Statement stmt = null;ResultSet rs=null;//注冊數據庫驅動程序public DbAccess(){try{Class.forName(strDBDriver);}//異常處理catch( java.lang.ClassNotFoundException e){System.err.println(DbAccess(): e.getMessage());}}//建立數據庫連接及定義數據查詢public ResultSet executeQuery(String sql){rs=null;try{conn=DriverManager.getConnection(strDBUrl,username,password);stmt=conn.createStatement();rs=stmt.executeQuery(sql);}catch(SQLException ex){System.err.println(ap.executeQuery: ex.getMessage());}return rs;}//定義數據操庫作public void executeUpdate(String sql){stmt=null;rs=null;try{conn=DriverManager.getConnection(strDBUrl,username,password);stmt=conn.createStatement();stmt.executeQuery(sql);stmt.close();conn.close();}catch(SQLException ex){System.err.println(ap.executeQuery: ex.getMessage());}}//關閉數據庫public void closeStmt(){try{stmt.close();}catch(SQLException e){e.printStackTrace();}}public void closeConn(){try{conn.close();}catch(SQLException e){e.printStackTrace();}}public static void main(String[] args){System.out.println(hello,it's test);DbAccess dbaccess = new DbAccess();String sql = select * from xt_yh;ResultSet rs = dbaccess.executeQuery(sql);try{while(rs.next()){System.out.print(rs.getString(1) rs.getString(2) rs.getString(3) rs.getString(4) rs.getString(5) rs.getString(6));System.out.println();}dbaccess.closeStmt();dbaccess.closeConn();}catch (SQLException e){// TODO 自動生成 catch 塊e.printStackTrace();}}}/*********DepEmplConfig.jsp************/%@ page contentType=text/html; charset=gb2312 language=java import=java.sql.*,com.lcl.common.* errorPage= %!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtdhtmlheadmeta http-equiv=Content-Type content=text/html; charset=gb2312title無標題文檔/titleHEADscript type=text/javascript src=../resources/xDataTree.js/scriptlink type=text/css rel=stylesheet href=../resources/xtree.css /style type=text/cssbody {background:white;color:black;}/styleTITLE New Document /TITLEMETA NAME=Generator CONTENT=EditPlusMETA NAME=Author CONTENT=META NAME=Keywords CONTENT=META NAME=Description CONTENT=/HEADscript type=text/javascriptwebFXTreeConfig.rootIcon= ../resources/images/xp/folder.png;webFXTreeConfig.openRootIcon= ../resources/images/xp/openfolder.png;webFXTreeConfig.folderIcon= ../resources/images/xp/folder.png;webFXTreeConfig.openFolderIcon= ../resources/images/xp/openfolder.png;webFXTreeConfig.fileIcon= ../resources/images/xp/file.png;webFXTreeConfig.lMinusIcon= ../resources/images/xp/Lminus.png;webFXTreeConfig.lPlusIcon= ../resources/images/xp/Lplus.png;webFXTreeConfig.tMinusIcon= ../resources/images/xp/Tminus.png;webFXTreeConfig.tPlusIcon= ../resources/images/xp/Tplus.png;webFXTreeConfig.iIcon= ../resources/images/xp/I.png;webFXTreeConfig.lIcon= ../resources/images/xp/L.png;webFXTreeConfig.tIcon= ../resources/images/xp/T.png;webFXTreeConfig.blankIcon = ../resources/images/blank.png;var tree = new WebFXTree(單位人員基本情況,R0);var child;var nodeToAddPerson;function addDeptTreeNode(preNodeLevel,curNodeLevel,dispLabel,sKey,sTag) { if(curNodeLevel==1) { child = tree.add(new WebFXTreeItem(dispLabel,sKey,sTag)); } else { if(curNodeLevel==preNodeLevel) { if(child.parentNode) child = child.parentNode.add(new WebFXTreeItem(dispLabel,sKey,sTag)); } if(curNodeLevelpreNodeLevel) { child = child.add(new WebFXTreeItem(dispLabel,sKey,sTag)); } if(curNodeLevelpreNodeLevel) { for(i=0;ipreNodeLevel-curNodeLevel 1;i ) child = child.parentNode; child = child.add(new WebFXTreeItem(dispLabel,sKey,sTag)); } } return child;}function treeClick() {if(tree.getSelected()) { if(tree.getSelected().childNodes.length==0tree.getSelected().key!=R0) cmdDelete.disabled = false; else cmdDelete.disabled = true; if(tree.getSelected().key.substr(0,2)==RZ) { cmdAddDept.disabled = true; cmdAddPeople.disabled = true; var strYhxh; strYhxh = tree.getSelected().key.substr(2); //window.open(../userAdm/editYh.do?yhxh= strYhxh,main); } else if(tree.getSelected().key.substr(0,2)==RB) { cmdAddDept.disabled = false; cmdAddPeople.disabled = false; var strDwxh; strDwxh = tree.getSelected().key.substr(2); //window.open(../userAdm/editBm.do?dwxh= strDwxh,main); } else { cmdAddDept.disabled = false; cmdAddPeople.disabled = true; //window.open(yhroot.jsp,main); }}}function addPeople() { var strDwxh; if(tree.getSelected()) { if (tree.getSelected().key.substr(0,2)==RB) { strDwxh = tree.getSelected().key.substr(2);//window.open(../userAdm/addYh.do?dwxh= strDwxh,main);alert(addPeople); } }}function addDept() { var strDwxh; if(tree.getSelected()) { if (tree.getSelected().key.substr(0,2)==RB) { strDwfxh = tree.getSelected().key.substr(2);//window.open(../userAdm/addBm.do?dwfxh= strDwfxh,main); alert(addDept); } else if(tree.getSelected().key==R0) { //window.open(../userAdm/addBm.do?dwfxh=0,main); alert(addDept); } }}function deleSelected() { if(!confirm(確認刪除該節點嗎?

)) return; if(tree.getSelected()) { if(tree.getSelected().key.substr(0,2)==RB) { var strDwxh; strDwxh = tree.getSelected().key.substr(2); //window.open(../userAdm/delBm.do?dwxh= strDwxh,main); alert(deleSelected); } else if(tree.getSelected().key.substr(0,2)=='RZ') { var strYhxh,strYhbh; strYhxh = tree.getSelected().key.substr(2); strYhbh = tree.getSelected().tag; //window.open(../userAdm/delYh.do?yhxh= strYhxh yhbh= strYhbh,main); alert(deleSelected); } }}function removeNode() { if(tree.getSelected()) { var node = tree.getSelected(); node.remove(); }}function addPeopleNode(strParentKey,strKey,strText,strTag) { if(tree.getSelected()) { var node = tree.getSelected(); var childNode; //node.expand(); childNode = node.add(new WebFXTreeItem(strText,strKey,strTag,,,../resources/images/people1.png)); node.expand(); //why I do so? I dont want to tell you,hah! childNode.focus(); treeClick(); }}function addDeptNode(strParentKey,strKey,strText,strTag) { if(tree.getSelected()) { var node = tree.getSelected(); var childNode; childNode = node.add(new WebFXTreeItem(strText,strKey,strTag)); node.expand(); childNode.focus(); treeClick(); }}function updateDeptNode(strTag,strText) { if(tree.getSelected()) { var node = tree.getSelected(); node.text = strText; node.tag = strTag; node.focus(); }}function updatePeopleNode(strTag,strText) { if(tree.getSelected()) { var node = tree.getSelected(); node.text = strText; node.tag = strTag; node.focus(); }}/script%int dwxh;int dwfxh;int yhxh;String dwbh = null;String dwmc = null;String yhmc = null;String yhbh = null;int preLevel =1;int level = 1;DbAccess dbaccess = new DbAccess();String sql = select dwxh,dwbh,dwmc,dwfxh from xt_dw order by dwbh;ResultSet rs = dbaccess.executeQuery(sql);try{while(rs.next()){ dwxh = rs.getInt(1); dwbh = rs.getString(2); dwmc = rs.getString(3); dwfxh = rs.getInt(4);//通過單位編號計算levelString last = dwbh.substring(9,10);int i = 9;while(last.equals(0) i0){i--;last = dwbh.substring(i,i 1);}if(i==0 || i==1) level =1;if(i==2 || i==3) level =2;if(i==4 || i==5) level =3;if(i==6 || i==7) level =4;if(i==8 || i==9) level =5;//% script type=text/javascript nodeToAddPerson = addDeptTreeNode(%=preLevel%,%=level%,%=dwmc%,RB%=dwxh%,%=dwbh%); /script%preLevel = level;String subsql = select yhxh,yhmc,yhbh from xt_yh where dwxh = Integer.toString(dwxh);ResultSet subRs = dbaccess.executeQuery(subsql); while(subRs.next()) { yhxh = subRs.getInt(1); yhmc = subRs.getString(2); yhbh = subRs.getString(3);% script type=text/javascript nodeToAddPerson.add(new WebFXTreeItem(%=yhmc%,RZ%=yhxh%,%=yhbh%,,,../resources/images/people1.png)); /script %}}dbaccess.closeStmt();dbaccess.closeConn();}catch(Exception e){}

版權聲明:本文由 士夢晨 整理編輯。

原標題:matlab迭代算法,matlab迭代算法程序

轉載注明出處:http://www.dn9ww09s.icu/assemble/15585.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 如何防范漏洞,怎樣防范漏洞

    如何防范漏洞,怎樣防范漏洞 相關圖片xss漏洞防范1。數據庫下載漏洞攻擊原理:當使用access作為后臺數據庫時,如果有人通過各種方法知道或猜測服務器的access數據庫路徑和數據庫名,也可以下載access數漏洞是怎么產生的...

  • php將html轉化為word,phpword中文手冊

    php將html轉化為word,phpword中文手冊 相關圖片html5 word文件本文的例子描述了在PHP中將上傳的word文件轉換成HTML的方法。與您分享以供參考。具體實現方法如下:上傳頁面:?12345678910121314!DOCTphpword轉html閱讀...

  • excel的工作簿是,excel多個工作簿匯總

    excel的工作簿是,excel多個工作簿匯總 相關圖片excel批量合并工作簿學校希望以Excel文件的形式提交校友記錄中收集到的校友電子郵件地址,方便校友團體向全體校友發出參加校慶80周年的邀請。校友記錄數據庫是access mdb格式一個工作...

  • kotlin android開發,安卓開發框架

    kotlin android開發,安卓開發框架 相關圖片android開發語言本文主要介紹Android開發的IDE、ADT、SDK、JDK、NDK等術語的定義。對這些概念感到困惑是件痛苦的事。本文簡要說明了這些術語的含義。讓我們共同努力android系統...

  • 一波又一波,一波還來不及

    一波又一波,一波還來不及 相關圖片一波接一波本文主要介紹了一種實用的bash shell排序方法,它適用于Ubuntu和其他Debian-Linux系統。您可以將以下內容作為朋友的命令行資源管理器。你可能來一波是什么意思...

  • 證書異常怎么解決方法,模塊異常4怎么解決

    證書異常怎么解決方法,模塊異常4怎么解決 相關圖片如何能解除模塊異常1在IIS6中同時啟用了asp.net 2.0和asp.net 4.0之后,網站程序可能會發生以下錯誤:system.web.httpexception:pathqq綁卡異常怎么解決...

  • ios是誰開發的,ios用什么開發

    ios是誰開發的,ios用什么開發 相關圖片ios開發難嗎Fmdb是面向對象的。它以OC的形式封裝SQLite的C語言API。它使用方便,不需要太多的數據庫操作知識。但也存在一些問題,比如跨平臺。因為它是用OC語言封裝ios 開發教程...

  • g04編程實例,g03編程實例

    g04編程實例,g03編程實例 相關圖片數控車編程實例注解Java服務器頁面(JSP)作為一種構建動態web頁面的技術,正變得越來越流行。JSP不同于ASP、PHP和工作機制。通常,JSP頁面是在執行時編譯而不是解釋的數控車g03編程實...

  • ADO.NET,NET是什么

    ADO.NET,NET是什么 相關圖片futurenet在使用ASP時,我們經常使用第三方控件來實現一些圖像功能。現在,隨著asp.net的引入,我們不再需要使用第三方控件來實現它,因為asp.net具有強大的功能來net開源框架...

  • 如何設置服務器ip地址,服務器ip地址大全

    如何設置服務器ip地址,服務器ip地址大全 相關圖片查詢app服務器ip地址本文給出了一個用PHP獲取服務器IP地址的實例。與您分享以供參考。具體分析如下:在PHP中,我們通常使用$_server['http_host']在URL中獲取時間同步服務器ip地址...

熱評文章

  • js 數組對象排序,js對象數組進行快去排序

    js 數組對象排序,js對象數組進行快去排序 相關圖片json對象數組asp.net中的ArrayList對象是包含單個數據值的數據項的集合。如何創建ArrayList對象以及如何對ArrayList中數據項的內容進行排序?下面是數組對象去重...

  • 在數組中查找指定元素,數組添加元素

    在數組中查找指定元素,數組添加元素 相關圖片怎么刪除數組中的某個元素本文的示例描述了JavaScript判斷數組是否包含指定元素的方法。與您分享以供參考。具體如下:該代碼通過prototype定義數組方法,以便調用contain如何刪除數組中...

  • fplot用法示例,vbarray的用法

    fplot用法示例,vbarray的用法 相關圖片groupbyhiving用法本文主要介紹Oracle merge into的使用。您可以參考以下情況。如果表中已經存在一段數據,請更新它。如果不存在,插入新數據。如果不使用Oracle提供說的用法...

  • 什么是數據庫,數據庫有什么用

    什么是數據庫,數據庫有什么用 相關圖片數據庫類型對于SQL新手來說,空值的概念常常會引起混淆。他們經常認為null與空字符串“”是同一回事。事實并非如此。例如,以下語句完全不同:MySQL insert in數據庫有哪些類型...

  • 刪除分區會刪除數據嗎,數據庫分區

    刪除分區會刪除數據嗎,數據庫分區 相關圖片分區損壞恢復數據創建分區表后,可以直接將數據插入分區表,而不管數據放在哪個物理數據表中。在上一篇文章的后面,我們將幾個數據插入到創建的分區表中:50行=15名稱=code類=c移...

  • 項目管理器的功能,文件管理器哪個好用

    項目管理器的功能,文件管理器哪個好用 相關圖片安卓文件管理器特定的SQL企業管理器。(請注意:只有您擁有Microsoft office2000或XP許可證,這些軟件才是免費的。)許多使用SQL server的公司也使用服務器管理器怎么打開...

  • 明日之后水紋特效,視頻局部水紋特效

    明日之后水紋特效,視頻局部水紋特效 相關圖片pr水波紋特效在哪/*腳本:zhfi特別感謝:restools,x-star*/!Addplugindir。!添加目錄。!包括mui2.nsh------------------ae波浪特效...

  • 異步獲取無阻,echarts異步獲取數據

    異步獲取無阻,echarts異步獲取數據 相關圖片js異步請求1) 要從指定的URL獲取相應的流,因為要獲取網絡資源,必須首先擁有URL。在這里,我首先封裝了通過打開URL連接獲得的InputStream,這樣interf真正的異步...

  • php類的方法,php教程

    php類的方法,php教程 相關圖片php入門在PHP5之前,如果每個PHP框架都想實現類的自動加載,通常會根據某個約定自己實現一個遍歷目錄,并自動加載所有符合約定規則的類或函數。當然,在PHP 5之前,面php是什么...

  • 動態生成,動態表情生成器

    動態生成,動態表情生成器 相關圖片q動態頭像生成器在web應用中,經常需要動態生成圖片,如實時股市行情、各種統計圖表等。在這種情況下,圖片只能在服務器內存中動態生成并發送給用戶,然后在瀏覽器中顯示。實際...

關注微信

变脸官网查询