欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      實(shí)驗(yàn)八 概率算法

      時間:2019-05-11 22:42:37下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《實(shí)驗(yàn)八 概率算法》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《實(shí)驗(yàn)八 概率算法》。

      第一篇:實(shí)驗(yàn)八 概率算法

      實(shí)驗(yàn)八

      概率算法(2學(xué)時)

      一、實(shí)驗(yàn)?zāi)康呐c要求

      ? 熟悉快速排序算法;

      ? 通過本實(shí)驗(yàn)加深對概率算法的理解。

      二、實(shí)驗(yàn)內(nèi)容:

      利用隨機(jī)序列選取樞軸值,改進(jìn)快速排序算法。

      三、實(shí)驗(yàn)步驟

      ? 理解算法思想和問題要求; ? 編程實(shí)現(xiàn)題目要求;

      ? 上機(jī)輸入和調(diào)試自己所編的程序; ? 驗(yàn)證分析實(shí)驗(yàn)結(jié)果; ? 整理出實(shí)驗(yàn)報告。實(shí)驗(yàn)提示

      void QuickSort(int r[ ], int low, int high)

      {

      if(low

      i=Random(low, high);

      r[low]←→r[i];

      k=Partition(r, low, high);

      QuickSort(r, low, k-1);

      QuickSort(r, k+1, high);

      }

      }

      四、實(shí)驗(yàn)過程 優(yōu)化選取樞軸

      三數(shù)取中,即取三個關(guān)鍵字先進(jìn)行排序,將中間數(shù)作為樞軸,一般是取左端、右端和中間三個數(shù),也可以隨機(jī)選取。對于非常大的待排序的序列來說還是不足以保證能夠選擇出一個好的pivo tkey,因此還有個辦法是所謂的九數(shù)取中,先從數(shù)組中分三次取樣,每次取三個數(shù),三個樣品各取出中數(shù),然后從這三個中數(shù)當(dāng)中再取出一個中數(shù)作為樞軸。

      public class QuickSortRealize {

      public static void QuickSort(int[] arr){ QSort(arr,0,arr.length-1);}

      /*

      * 對順序表子序列作快速排序 待排序序列的最小下標(biāo)值low和最大下標(biāo)值high

      */

      public static void QSort(int[] arr,int low,int high){ int pivot;if(low

      QSort(arr, low, pivot-1);//對低子表遞歸排序

      QSort(arr, pivot+1, high);//對高子表遞歸排序 } }

      /*

      * 選擇一個關(guān)鍵字,想盡辦法將它放到一個位置,使得它左邊的值都比小,* 右邊的值都比它大,我們稱這個關(guān)鍵字叫樞軸。*/

      public static int Partition(int[] arr,int low,int high){

      if(arr == null || low<0 || high>=arr.length){ new Exception();}

      int pivotkey;

      ChoosePivotkey(arr,low,high);//選取樞軸值

      pivotkey = arr[low];

      while(low=pivotkey){ //如果大于樞軸值,則下標(biāo)減一,否則,跳出循環(huán)

      high--;} Swap(arr, low, high);while(lowlow++;} Swap(arr, low, high);} return low;}

      public static void Swap(int[] arr,int low,int high){ int temp = arr[low];arr[low] = arr[high];arr[high] = temp;}

      /*

      * 三數(shù)取中 選擇樞軸 將樞軸值調(diào)至第一個位置 */

      public static void ChoosePivotkey(int[] arr,int low,int high){ int mid = low +(int)(high-low)/2;if(arr[low]>arr[high]){ //保證左端較小

      Swap(arr, low, high);} if(arr[mid]>arr[high]){ //保證中間較小

      Swap(arr, mid, high);}

      if(arr[mid]>arr[low]){ //保證中間較小

      Swap(arr, mid, low);} }

      public static void main(String[] args){ int[] arr = {50,10,90,30,70,40,80,60,20};QuickSort(arr);for(int array : arr){ System.out.print(array+“ ”);} System.out.println();} }

      五、實(shí)驗(yàn)結(jié)果

      六、心得體會

      通過本次利用隨機(jī)序列選取樞軸值,改進(jìn)快速排序算法的實(shí)驗(yàn),我熟悉快速排序算法,并加深對概率算法的理解。

      第二篇:實(shí)驗(yàn)八

      實(shí)

      驗(yàn)

      課程名稱:

      SQL

      Server

      數(shù)據(jù)庫基礎(chǔ)

      任課教師:

      池宗琳

      實(shí)驗(yàn)名稱:

      存儲過程

      年級、專業(yè):

      2018級電子信息工程

      學(xué)

      號:

      20181060093

      名:

      日期:

      2019

      云南大學(xué)

      信息學(xué)院

      一、實(shí)驗(yàn)?zāi)康?、掌握使用SELECT語句實(shí)現(xiàn)對數(shù)據(jù)庫的簡單查詢

      2、掌握使用SELECT語句實(shí)現(xiàn)對數(shù)據(jù)庫的多表鏈接查詢和子查詢

      二、實(shí)驗(yàn)內(nèi)容、方法、步驟、結(jié)果與分析

      完成以下各題功能,保存或記錄實(shí)現(xiàn)各題功能的Transact-SQL語句。

      1.在數(shù)據(jù)庫HrSystem中創(chuàng)建存儲過程avg._wage,用于求所有員工的平均工資,并通過輸出參數(shù)返回該平均工資。要求在創(chuàng)建存儲過程之前要首先判斷該存儲過程是否已經(jīng)存在,如果存在,則將其刪除。

      USE

      Hrsystem

      GO

      IF

      EXISTS

      (SELECT

      name

      FROM

      sysobjects

      WHERE

      name

      =

      'avg_wage')

      DROP

      PROC

      avg_wage

      GO

      CREATE

      PROC

      avg_wage

      @AVWAGE

      AS

      FLOAT

      AS

      SELECT

      @AVWAGE

      =

      AVG(Wage)

      FROM

      Employees

      PRINT

      @AVWAGE

      GO

      2.執(zhí)行第1題創(chuàng)建的存儲過程avg_

      wage,打印員工平均工資。

      USE

      Hrsystem

      GO

      DECLARE

      @avg

      AS

      FLOAT

      EXEC

      avg_wage

      @avg

      3.在數(shù)據(jù)庫HrSystem中創(chuàng)建存儲過程max_

      wage,根據(jù)指定的部門名稱(輸人參數(shù))返回該部門的最高工資(輸出參數(shù))。要求在創(chuàng)建存儲過程之前要首先判斷該存儲過程是否已經(jīng)存在,如果存在,則將其刪除。

      USE

      Hrsystem

      GO

      IF

      EXISTS

      (SELECT

      name

      FROM

      sysobjects

      WHERE

      name

      =

      'max_wage')

      DROP

      PROC

      avg_wage

      GO

      CREATE

      PROC

      max_wage

      @Dename

      varchar(20),@MAX_wage

      FLOAT

      OUTPUT

      AS

      SELECT

      @MAX_wage

      =

      MAX(Wage)

      FROM

      Employees

      WHERE

      Dep_id

      IN(SELECT

      Dep_id

      FROM

      Departments

      WHERE

      Dep_name

      =

      @Dename)

      GROUP

      BY

      Dep_id

      4.執(zhí)行第3題創(chuàng)建的存儲過程max

      wage,指定部門為“財務(wù)部”,打印該類部門的最高工資。

      USE

      Hrsystem

      GO

      DECLARE

      @MAX_wage

      FLOAT

      EXEC

      max_wage

      '財務(wù)部',@MAX_wage

      OUTPUT

      PRINT

      @MAX_wage

      5.刪除存儲過程avg_

      wage和I

      max_

      wage。

      USE

      Hrsystem

      GO

      DROP

      PROCEDURE

      max_wage

      GO

      DROP

      PROCEDURE

      avg_wage

      (二)觸發(fā)器

      創(chuàng)建一個“學(xué)生信息”數(shù)據(jù)庫,包含“學(xué)生基本信息”表、“專業(yè)”表和“系”表,各表包含的字段如下。

      “學(xué)生基本信息”表:學(xué)號;姓名;性別;班級;出生日期;專業(yè)編號。

      “專業(yè)”表:專業(yè)編號;專業(yè)名稱;系編號。

      “系”

      表:系編號;系名稱;系簡介。

      各字段類型按其實(shí)際含義自行定義,輸人-

      -些數(shù)據(jù),要求數(shù)據(jù)要有代表性。

      以下操作要求全部在SQL

      Server

      Management

      Studio

      中完成,保存或記錄實(shí)現(xiàn)各題功能的Transcat-SQL語句(包括測試相應(yīng)觸發(fā)器是否生效的相關(guān)語句及測試結(jié)果)。

      1.在“專業(yè)”表上創(chuàng)建一個INSERT觸發(fā)器“TRG1”。當(dāng)發(fā)生插入專業(yè)表操作時,將顯示插入的記錄。

      USE

      學(xué)生信息

      GO

      CREATE

      TRIGGER

      TRG1

      ON

      專業(yè)

      FOR

      INSERT

      AS

      DECLARE

      @depid

      INT

      DECLARE

      @depname

      varchar(50)

      DECLARE

      @number

      INT

      SELECT

      @depid

      =

      專業(yè)編號

      FROM

      inserted

      SELECT

      @number

      =

      系編號

      FROM

      inserted

      SELECT

      @depname

      =

      專業(yè)名稱

      FROM

      inserted

      PRINT('系名:'+STR(@depid)+'專業(yè)名:'+STR(@depname)+'系的編號:'+str(@number))

      INSERT

      INTO

      專業(yè)

      (專業(yè)編號,專業(yè)名稱,系編號)

      VALUES(@depid,@depname,@number)

      2.在“專業(yè)”表上創(chuàng)建一個DELETE觸發(fā)器“TRG2”,當(dāng)發(fā)生刪除操作時,將給出警告、列出刪除的記錄并撤銷刪除。

      USE

      學(xué)生信息

      GO

      CREATE

      TRIGGER

      TRG2

      ON

      專業(yè)

      FOR

      DELETE

      AS

      PRINT('警告!禁止刪除')

      ROLLBACK

      TRANSACTION

      3.在“專業(yè)”表上創(chuàng)建一個UPDTAE觸發(fā)器“TRG3”,當(dāng)發(fā)生更新“專業(yè)名稱”字段的操作時,給出警告并撤銷更新

      USE

      學(xué)生信息

      GO

      CREATE

      TRIGGER

      TRG3

      ON

      專業(yè)

      FOR

      UPDATE

      AS

      DECLARE

      @temp_proid

      INT

      DECLARE

      @temp_xiid

      INT

      DECLARE

      @temp_porna

      varchar(50)

      SELECT

      @temp_porna

      =

      專業(yè)名稱

      FROM

      inserted

      IF

      @temp_porna

      IS

      not

      NULL

      BEGIN

      PRINT('禁止修改專業(yè)名稱')

      ROLLBACK

      TRANSACTION

      END

      ELSE

      BEGIN

      SELECT

      @temp_porna

      =

      專業(yè)名稱

      FROM

      deleted

      SELECT

      @temp_xiid

      =

      系編號

      FROM

      deleted

      SELECT

      @temp_proid

      =

      專業(yè)編號

      FROM

      deleted

      UPDATE

      專業(yè)

      SET

      專業(yè)編號

      =

      @temp_proid,系編號

      =

      @temp_xiid

      WHERE

      專業(yè)名稱

      =

      @temp_porna

      END

      4.在“學(xué)生基本信息”表上創(chuàng)建一

      一個更新觸發(fā)器“TRG4“,當(dāng)發(fā)生更新“學(xué)號”或“姓名”字段的操作時給出警告,并撤銷更新。

      USE

      學(xué)生信息

      GO

      CREATE

      TRIGGER

      TRG4

      ON

      學(xué)生基本信息

      FOR

      UPDATE

      AS

      DECLARE

      @temp_stunum

      char(11)

      DECLARE

      @temp_name

      char(10)

      DECLARE

      @temp_gender

      BIT

      DECLARE

      @temp_class

      varchar(10)

      DECLARE

      @temp_date

      DATETIME

      DECLARE

      @temp_proID

      INT

      SELECT

      @temp_name

      =

      姓名

      FROM

      inserted

      SELECT

      @temp_stunum

      =

      學(xué)號

      FROM

      inserted

      IF

      @temp_name

      IS

      NOT

      NULL

      OR

      @temp_stunum

      IS

      NOT

      NULL

      BEGIN

      PRINT('禁止修改學(xué)號或者姓名')

      ROLLBACK

      TRANSACTION

      END

      ELSE

      BEGIN

      SELECT

      @temp_stunum

      =

      學(xué)號

      FROM

      deleted

      SELECT

      @temp_name

      =

      姓名

      FROM

      deleted

      SELECT

      @temp_gender

      =

      性別

      FROM

      inserted

      SELECT

      @temp_class

      =

      班級

      FROM

      inserted

      SELECT

      @temp_date

      =

      出生日期

      FROM

      inserted

      SELECT

      @temp_proID

      =

      專業(yè)編號

      FROM

      inserted

      UPDATE

      學(xué)生基本信息

      SET

      性別

      =

      @temp_gender,班級

      =

      @temp_class,出生日期

      =

      @temp_date,專業(yè)編號

      =

      @temp_proID

      WHERE

      學(xué)號

      =

      @temp_stunum

      END

      5.刪除以

      上各題創(chuàng)建的所有觸發(fā)器。做好“學(xué)生信息”數(shù)據(jù)庫的備份,以備第10章、第章上機(jī)操作時使用。

      USE

      學(xué)生信息

      GO

      DROP

      TRIGGER

      TRG1

      DROP

      TRIGGER

      TRG2

      DROP

      TRIGGER

      TRG3

      DROP

      TRIGGER

      TRG4

      三、實(shí)驗(yàn)小結(jié)【對自己而言,通過實(shí)驗(yàn)學(xué)到的關(guān)鍵技術(shù)方法】

      掌握了觸發(fā)器的一些基本方法:

      1.創(chuàng)建觸發(fā)器

      2.分清了觸發(fā)器的種類,但是還是需要深入了解dml觸發(fā)器中三個種類觸發(fā)器的不同。

      3.了解了觸發(fā)器在我們實(shí)際操作中的作用

      4.

      第三篇:實(shí)驗(yàn)3 貪心算法(定稿)

      《算法設(shè)計與分析》實(shí)驗(yàn)報告

      實(shí)驗(yàn)3貪心算法

      姓名 學(xué)號班級 實(shí)驗(yàn)日期實(shí)驗(yàn)地點(diǎn)

      一、實(shí)驗(yàn)?zāi)康?/p>

      1、掌握貪心算法的設(shè)計思想。

      2、理解最小生成樹的相關(guān)概念。

      二、實(shí)驗(yàn)環(huán)境

      1、硬件環(huán)境 CPU:酷睿i5 內(nèi)存:4GB 硬盤:1T

      2、軟件環(huán)境

      操作系統(tǒng):Windows10 編程環(huán)境:jdk 編程語言:Java

      三、實(shí)驗(yàn)內(nèi)容:在Prim算法與Kruskal算法中任選一種求解最小生成樹問題。

      1、你選擇的是:Prim算法

      2、數(shù)據(jù)結(jié)構(gòu)

      (1)圖的數(shù)據(jù)結(jié)構(gòu)——圖結(jié)構(gòu)是研究數(shù)據(jù)元素之間的多對多的關(guān)系。在這種結(jié)構(gòu)中,任意兩個元素之間可能存在關(guān)系,即結(jié)點(diǎn)之間的關(guān)系可以是任意的,圖中任意元素之間都可能相關(guān)。

      圖形結(jié)構(gòu)——多個對多個,如

      (2)樹的數(shù)據(jù)結(jié)構(gòu)——樹結(jié)構(gòu)是研究數(shù)據(jù)元素之間的一對多的關(guān)系。在這種結(jié)構(gòu)中,每個元素對下(層)可以有0個或多個元素相聯(lián)系,對上(層)只有唯一的一個元素相關(guān),數(shù)據(jù)元素之間有明顯的層次關(guān)系。樹形結(jié)構(gòu)——一個對多個,如

      3、算法偽代碼 Prim(G,E,W)輸入:連通圖G 輸出:G的最小生成樹T 1.S←{1};T=? 2.While V-S ≠? do

      3.從V-S中選擇j使得j到S中頂點(diǎn)的邊e的權(quán)最?。籘←T∪{e} 4.S←S∪{j}

      3、算法分析 時間復(fù)雜度:O(n)空間復(fù)雜度:O(n^2)

      4、關(guān)鍵代碼(含注釋)

      package Prim;

      import java.util.*;publicclass Main { staticintMAXCOST=Integer.MAX_VALUE;

      staticint Prim(intgraph[][], intn){ /* lowcost[i]記錄以i為終點(diǎn)的邊的最小權(quán)值,當(dāng)lowcost[i]=0時表示終點(diǎn)i加入生成樹 */

      intlowcost[]=newint[n+1];

      /* mst[i]記錄對應(yīng)lowcost[i]的起點(diǎn),當(dāng)mst[i]=0時表示起點(diǎn)i加入生成樹 */ intmst[]=newint[n+1];

      intmin, minid, sum = 0;

      /* 默認(rèn)選擇1號節(jié)點(diǎn)加入生成樹,從2號節(jié)點(diǎn)開始初始化 */ for(inti = 2;i<= n;i++){

      /* 標(biāo)記1號節(jié)點(diǎn)加入生成樹 */ mst[1] = 0;

      /* n個節(jié)點(diǎn)至少需要n-1條邊構(gòu)成最小生成樹 */ for(inti = 2;i<= n;i++){

      /* 找滿足條件的最小權(quán)值邊的節(jié)點(diǎn)minid */ for(intj = 2;j<= n;j++){

      /* 輸出生成樹邊的信息:起點(diǎn),終點(diǎn),權(quán)值 */

      System.out.printf(“%c1, minid + 'A''A' + 1;intj = chy-'A' + 1;graph[i][j] = cost;graph[j][i] = cost;for(intj = 1;j<= n;j++){ } graph[i][j] = MAXCOST;} } System.out.println(”Total:"+cost);} }

      5、實(shí)驗(yàn)結(jié)果(1)輸入

      (2)輸出

      最小生成樹的權(quán)值為: 生成過程:

      (a)

      (b)

      (d)

      (e)

      (c)

      四、實(shí)驗(yàn)總結(jié)(心得體會、需要注意的問題等)

      這次實(shí)驗(yàn),使我受益匪淺。這次實(shí)驗(yàn)我選擇了Prim算法來求出樹的最小生成樹,在編寫代碼的過程中,我對Prim算法有了更深的了解,也使我對算法設(shè)計與分析更有興趣,今后一定要更努力的學(xué)習(xí)這門課。

      第四篇:算法與數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)

      金陵科技學(xué)院實(shí)驗(yàn)報告

      學(xué) 生 實(shí) 驗(yàn) 報 告 冊

      課程名稱:

      學(xué)生學(xué)號:

      所屬院部:

      (理工類)

      算法與數(shù)據(jù)結(jié)構(gòu) 專業(yè)班級: 13網(wǎng)絡(luò)工程

      1305106009 學(xué)生姓名: 陳韜

      網(wǎng)絡(luò)與通信工程學(xué)院 指導(dǎo)教師: 沈奇 14 ——20 15 學(xué)年 第 1 學(xué)期

      金陵科技學(xué)院教務(wù)處制

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)報告書寫要求

      實(shí)驗(yàn)報告原則上要求學(xué)生手寫,要求書寫工整。若因課程特點(diǎn)需打印的,要遵照以下字體、字號、間距等的具體要求。紙張一律采用A4的紙張。

      實(shí)驗(yàn)報告書寫說明

      實(shí)驗(yàn)報告中一至四項(xiàng)內(nèi)容為必填項(xiàng),包括實(shí)驗(yàn)?zāi)康暮鸵?;?shí)驗(yàn)儀器和設(shè)備;實(shí)驗(yàn)內(nèi)容與過程;實(shí)驗(yàn)結(jié)果與分析。各院部可根據(jù)學(xué)科特點(diǎn)和實(shí)驗(yàn)具體要求增加項(xiàng)目。

      填寫注意事項(xiàng)

      (1)細(xì)致觀察,及時、準(zhǔn)確、如實(shí)記錄。(2)準(zhǔn)確說明,層次清晰。

      (3)盡量采用專用術(shù)語來說明事物。

      (4)外文、符號、公式要準(zhǔn)確,應(yīng)使用統(tǒng)一規(guī)定的名詞和符號。(5)應(yīng)獨(dú)立完成實(shí)驗(yàn)報告的書寫,嚴(yán)禁抄襲、復(fù)印,一經(jīng)發(fā)現(xiàn),以零分論處。

      實(shí)驗(yàn)報告批改說明

      實(shí)驗(yàn)報告的批改要及時、認(rèn)真、仔細(xì),一律用紅色筆批改。實(shí)驗(yàn)報告的批改成績采用百分制,具體評分標(biāo)準(zhǔn)由各院部自行制定。

      實(shí)驗(yàn)報告裝訂要求

      實(shí)驗(yàn)批改完畢后,任課老師將每門課程的每個實(shí)驗(yàn)項(xiàng)目的實(shí)驗(yàn)報告以自然班為單位、按學(xué)號升序排列,裝訂成冊,并附上一份該門課程的實(shí)驗(yàn)大綱。

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)項(xiàng)目名稱: 順序表 實(shí)驗(yàn)學(xué)時: 2 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績: 批改教師: 批改時間:

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)1 順序表

      一、實(shí)驗(yàn)?zāi)康暮鸵?/p>

      掌握順序表的定位、插入、刪除等操作。

      二、實(shí)驗(yàn)儀器和設(shè)備

      Turbo C 2.0/ Visual C++

      三、實(shí)驗(yàn)內(nèi)容與過程(含程序清單及流程圖)

      1、必做題

      (1)編寫程序建立一個順序表,并逐個輸出順序表中所有數(shù)據(jù)元素的值。編寫主函數(shù)測試結(jié)果。

      (2)編寫順序表定位操作子函數(shù),在順序表中查找是否存在數(shù)據(jù)元素x。如果存在,返回順序表中和x值相等的第1個數(shù)據(jù)元素的序號(序號從0開始編號);如果不存在,返回-1。編寫主函數(shù)測試結(jié)果。(3)在遞增有序的順序表中插入一個新結(jié)點(diǎn)x,保持順序表的有序性。

      解題思路:首先查找插入的位置,再移位,最后進(jìn)行插入操作;從第一個元素開始找到第一個大于該新結(jié)點(diǎn)值x的元素位置i即為插入位置;然后將從表尾開始依次將元素后移一個位置直至元素i;最后將新結(jié)點(diǎn)x插入到i位置。

      (4)刪除順序表中所有等于X的數(shù)據(jù)元素。

      2、選做題

      (5)已知兩個順序表A和B按元素值遞增有序排列,要求寫一算法實(shí)現(xiàn)將A和B歸并成一個按元素值遞減有序排列的順序表(允許表中含有值相同的元素)。

      程序清單:

      #include #include #define MAXSIZE 100 typedef struct { int data[MAXSIZE];int last;

      金陵科技學(xué)院實(shí)驗(yàn)報告

      } sequenlist;sequenlist L={{1,3,5,5,7,8,10,12,17},8};void print_list(){ int i;for(i=0;i<=L.last;i++)printf(“%4d”,L.data[i]);} void find_all_x(int x){ int found=0,i;for(i=0;i<=L.last;i++)if(L.data[i]==x){ printf(“%3d”,i+1);found=1;} if(found==0)printf(“-1n”);} void insert_x(int x){ int loc,i;for(i=0;i<=L.last;i++)if(x

      金陵科技學(xué)院實(shí)驗(yàn)報告

      loc=i;for(i=L.last;i>=loc;i--)L.data[i+1]=L.data[i];L.data[loc]=x;L.last++;} void delete_x(int x){ int i,j,found=0;for(i=0;i<=L.last;i++)if(x==L.data[i]){ found=1;for(j=i+1;j<=L.last;j++)L.data[j-1]=L.data[j];i--;L.last--;} if(found==0)printf(“x is not foundn”);else { printf(“x is deletedn”);printf(“the list after deletion is:n”);print_list();

      金陵科技學(xué)院實(shí)驗(yàn)報告

      } }

      void main(){ int x,choice;while(1){ printf(“**********menu**********n”);printf(“ 1--printn”);printf(“ 2--searchn”);printf(“ 3--insertn”);printf(“ 4--deleten”);printf(“ 5--exitn”);printf(“please input your choice:”);scanf(“%d”,&choice);

      switch(choice){case 1: printf(“the original list is:n”);print_list();break;case 2: printf(“pls input x you want to search:n”);

      金陵科技學(xué)院實(shí)驗(yàn)報告

      scanf(“%d”,&x);find_all_x(x);break;case 3: printf(“pls input x you want to insert:n”);scanf(“%d”,&x);insert_x(x);printf(“the list after insertion is:n”);print_list();break;case 4: printf(“pls input x you want to delete:n”);scanf(“%d”,&x);delete_x(x);printf(“the list after deletion is:n”);print_list();break;case 5: exit(0);} } }

      金陵科技學(xué)院實(shí)驗(yàn)報告

      金陵科技學(xué)院實(shí)驗(yàn)報告

      四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)

      五、實(shí)驗(yàn)體會(遇到問題及解決辦法,編程后的心得體會)

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)項(xiàng)目名稱: 單鏈表 實(shí)驗(yàn)學(xué)時: 2 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績: 批改教師: 批改時間:

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)2 單鏈表

      一、實(shí)驗(yàn)?zāi)康暮鸵?/p>

      1、實(shí)驗(yàn)?zāi)康?/p>

      掌握單鏈表的定位、插入、刪除等操作。

      2、實(shí)驗(yàn)要求

      (1)注意鏈表的空間是動態(tài)分配的,某結(jié)點(diǎn)不用之后要及時進(jìn)行物理刪除,以便釋放其內(nèi)存空間。

      (2)鏈表不能實(shí)現(xiàn)直接定位,一定注意指針的保存,防止丟失。

      二、實(shí)驗(yàn)儀器和設(shè)備

      Turbo C 2.0/ Visual C++

      三、實(shí)驗(yàn)內(nèi)容與過程(含程序清單及流程圖)

      1、必做題

      (1)編寫程序建立一個單鏈表,并逐個輸出單鏈表中所有數(shù)據(jù)元素。(2)在遞增有序的單鏈表中插入一個新結(jié)點(diǎn)x,保持單鏈表的有序性。

      解題思路:首先查找插入的位置然后進(jìn)行插入操作;從第一個結(jié)點(diǎn)開始找到第一個大于該新結(jié)點(diǎn)值的結(jié)點(diǎn)即為插入位置;然后在找到的此結(jié)點(diǎn)之前插入新結(jié)點(diǎn);注意保留插入位置之前結(jié)點(diǎn)的指針才能完成插入操作。

      (3)編寫實(shí)現(xiàn)帶頭結(jié)點(diǎn)單鏈表就地逆置的子函數(shù),并編寫主函數(shù)測試結(jié)果。

      2、選做題

      已知指針LA和LB分別指向兩個無頭結(jié)點(diǎn)單鏈表的首元結(jié)點(diǎn)。要求編一算法實(shí)現(xiàn),從表LA中刪除自第i個元素起共len個元素后,將它們插入到表LB中第j個元素之前。程序清單:

      金陵科技學(xué)院實(shí)驗(yàn)報告

      金陵科技學(xué)院實(shí)驗(yàn)報告

      四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)

      五、實(shí)驗(yàn)體會(遇到問題及解決辦法,編程后的心得體會)

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)項(xiàng)目名稱: 堆棧和隊列 實(shí)驗(yàn)學(xué)時: 2 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績: 批改教師: 批改時間:

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)3 堆棧和隊列

      一、實(shí)驗(yàn)?zāi)康暮鸵?/p>

      (1)掌握應(yīng)用棧解決問題的方法。(2)掌握利用棧進(jìn)行表達(dá)式求和的算法。

      (3)掌握隊列的存儲結(jié)構(gòu)及基本操作實(shí)現(xiàn),并能在相應(yīng)的應(yīng)用問題中正確選用它們。

      二、實(shí)驗(yàn)儀器和設(shè)備

      Turbo C 2.0/ Visual C++

      三、實(shí)驗(yàn)內(nèi)容與過程(含程序清單及流程圖)

      1、必做題

      (1)判斷一個算術(shù)表達(dá)式中開括號和閉括號是否配對。(2)測試“漢諾塔”問題。

      (3)假設(shè)稱正讀和反讀都相同的字符序列為”回文”,試寫一個算法判別讀入的一個以’@’為結(jié)束符的字符序列是否是“回文”。

      2、選做題

      在順序存儲結(jié)構(gòu)上實(shí)現(xiàn)輸出受限的雙端循環(huán)隊列的入列和出列算法。設(shè)每個元素表示一個待處理的作業(yè),元素值表示作業(yè)的預(yù)計時間。入隊列采取簡化的短作業(yè)優(yōu)先原則,若一個新提交的作業(yè)的預(yù)計執(zhí)行時間小于隊頭和隊尾作業(yè)的平均時間,則插入在隊頭,否則插入在隊尾。程序清單:

      金陵科技學(xué)院實(shí)驗(yàn)報告

      四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)

      金陵科技學(xué)院實(shí)驗(yàn)報告

      五、實(shí)驗(yàn)體會(遇到問題及解決辦法,編程后的心得體會)

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)項(xiàng)目名稱: 串 實(shí)驗(yàn)學(xué)時: 2 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績: 批改教師: 批改時間:

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)4 串

      一、實(shí)驗(yàn)?zāi)康暮鸵?/p>

      掌握串的存儲及應(yīng)用。

      二、實(shí)驗(yàn)儀器和設(shè)備

      Turbo C 2.0/ Visual C++

      三、實(shí)驗(yàn)內(nèi)容與過程(含程序清單及流程圖)

      1、必做題

      (1)編寫輸出字符串s中值等于字符ch的第一個字符的函數(shù),并用主函數(shù)測試結(jié)果。

      (2)編寫輸出字符串s中值等于字符ch的所有字符的函數(shù),并用主函數(shù)測試結(jié)果。

      解題思路:可以將第一題程序改進(jìn)成一個子函數(shù),在本題中循環(huán)調(diào)用。(3)設(shè)字符串采用單字符的鏈?zhǔn)酱鎯Y(jié)構(gòu),編程刪除串s從位置i開始長度為k的子串。

      2、選做題

      假設(shè)以鏈結(jié)構(gòu)表示串,編寫算法實(shí)現(xiàn)將串S插入到串T中某個字符之后,若串T中不存在這個字符,則將串S聯(lián)接在串T的末尾。

      提示:為提高程序的通用性,插入位置字符應(yīng)設(shè)計為從鍵盤輸入。程序清單:

      金陵科技學(xué)院實(shí)驗(yàn)報告

      四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)

      金陵科技學(xué)院實(shí)驗(yàn)報告

      五、實(shí)驗(yàn)體會(遇到問題及解決辦法,編程后的心得體會)

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)項(xiàng)目名稱: 二叉樹 實(shí)驗(yàn)學(xué)時: 2 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績: 批改教師: 批改時間:

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)5 二叉樹

      一、實(shí)驗(yàn)?zāi)康暮鸵?/p>

      (1)掌握二叉樹的生成,以及前、中、后序遍歷算法。(2)掌握應(yīng)用二叉樹遞歸遍歷思想解決問題的方法。

      二、實(shí)驗(yàn)儀器和設(shè)備

      Turbo C 2.0/ Visual C++

      三、實(shí)驗(yàn)內(nèi)容與過程(含程序清單及流程圖)

      1、必做題

      (1)建立一棵二叉樹。對此樹進(jìn)行前序遍歷、中序遍歷及后序遍歷,輸出遍歷序列。

      (2)在第一題基礎(chǔ)上,求二叉樹中葉結(jié)點(diǎn)的個數(shù)。(3)在第一題基礎(chǔ)上,求二叉樹中結(jié)點(diǎn)總數(shù)。(4)在第一題基礎(chǔ)上,求二叉樹的深度。

      2、選做題

      已知一棵完全二叉樹存于順序表sa中,sa.elem[1…sa.last]存儲結(jié)點(diǎn)的值。試編寫算法由此順序存儲結(jié)構(gòu)建立該二叉樹的二叉鏈表。

      解題思路:根據(jù)完全二叉樹順序存儲的性質(zhì)來確定二叉樹的父子關(guān)系即“還原”了二叉樹,之后再按照二叉樹二叉鏈表的構(gòu)造方法進(jìn)行建立。完全二叉樹順序存儲的一個重要性質(zhì)為,第i個結(jié)點(diǎn)的左孩子是編號為2i的結(jié)點(diǎn),第i個結(jié)點(diǎn)的右孩子是編號為2i+1的結(jié)點(diǎn)。程序清單:

      金陵科技學(xué)院實(shí)驗(yàn)報告

      四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)

      金陵科技學(xué)院實(shí)驗(yàn)報告

      五、實(shí)驗(yàn)體會(遇到問題及解決辦法,編程后的心得體會)

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)項(xiàng)目名稱: 圖 實(shí)驗(yàn)學(xué)時: 2 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績: 批改教師: 批改時間:

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)6 圖

      一、實(shí)驗(yàn)?zāi)康暮鸵?/p>

      (1)熟練掌握圖的基本概念、構(gòu)造及其存儲結(jié)構(gòu)。

      (2)熟練掌握對圖的深度優(yōu)先搜索遍歷和廣度優(yōu)先搜索遍歷的算法。

      二、實(shí)驗(yàn)儀器和設(shè)備

      Turbo C 2.0/ Visual C++

      三、實(shí)驗(yàn)內(nèi)容與過程(含程序清單及流程圖)

      1、必做題

      (1)構(gòu)造一個無向圖(用鄰接矩陣表示存儲結(jié)構(gòu))。

      (2)對上面所構(gòu)造的無向圖,進(jìn)行深度優(yōu)先遍歷和廣度優(yōu)先遍歷,輸出遍歷序列。

      2、選做題

      采用鄰接表存儲結(jié)構(gòu),編寫一個判別無向圖中任意給定的兩個頂點(diǎn)之間是否存在一條長度為k的簡單路徑的算法。簡單路徑是指其頂點(diǎn)序列中不含有重復(fù)頂點(diǎn)的路徑。提示:兩個頂點(diǎn)及k值均作為參數(shù)給出。程序清單:

      金陵科技學(xué)院實(shí)驗(yàn)報告

      四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)

      五、實(shí)驗(yàn)體會(遇到問題及解決辦法,編程后的心得體會)

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)項(xiàng)目名稱: 排序 實(shí)驗(yàn)學(xué)時: 2 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績: 批改教師: 批改時間:

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)7 排序

      一、實(shí)驗(yàn)?zāi)康暮鸵?/p>

      (1)熟練掌握希爾排序、堆排序、直接插入排序、起泡排序、快速排序、直接選擇排序、歸并排序和基數(shù)排序的基本概念。

      (2)掌握以上各種排序的算法。區(qū)分以上不同排序的優(yōu)、缺點(diǎn)。

      二、實(shí)驗(yàn)儀器和設(shè)備

      Turbo C 2.0/ Visual C++

      三、實(shí)驗(yàn)內(nèi)容與過程(含程序清單及流程圖)

      1、必做題

      用隨機(jī)數(shù)產(chǎn)生100000個待排序數(shù)據(jù)元素的關(guān)鍵字值。測試下列各排序函數(shù)的機(jī)器實(shí)際執(zhí)行時間(至少測試兩個):直接插入排序、希爾排序(增量為4,2,1)、冒泡排序、快速排序、直接選擇排序、堆排序。

      2、選做題

      假設(shè)含n個記錄的序列中,其所有關(guān)鍵字為值介于v和w之間的整數(shù),且其中很多關(guān)鍵字的值是相同的。則可按如下方法排序:另設(shè)數(shù)組number[v…w],令number[i]統(tǒng)計關(guān)鍵字為整數(shù)i的紀(jì)錄個數(shù),然后按number重排序列以達(dá)到有序。試編寫算法實(shí)現(xiàn)上述排序方法,并討論此種方法的優(yōu)缺點(diǎn)。程序清單:

      金陵科技學(xué)院實(shí)驗(yàn)報告

      四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)

      金陵科技學(xué)院實(shí)驗(yàn)報告

      五、實(shí)驗(yàn)體會(遇到問題及解決辦法,編程后的心得體會)

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)項(xiàng)目名稱: 查找 實(shí)驗(yàn)學(xué)時: 2 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績: 批改教師: 批改時間:

      金陵科技學(xué)院實(shí)驗(yàn)報告

      實(shí)驗(yàn)8 查找

      一、實(shí)驗(yàn)?zāi)康暮鸵?/p>

      (1)掌握順序表查找、有序表查找、索引順序表查找的各種算法。(2)掌握哈希表設(shè)計。

      二、實(shí)驗(yàn)儀器和設(shè)備

      Turbo C 2.0/ Visual C++

      三、實(shí)驗(yàn)內(nèi)容與過程(含程序清單及流程圖)

      1、必做題

      (1)在一個遞增有序的線性表中利用二分查找法查找數(shù)據(jù)元素X。

      2、選做題

      (2)構(gòu)造一個哈希表,哈希函數(shù)采用除留余數(shù)法,哈希沖突解決方法采用鏈地址法。設(shè)計一個測試程序進(jìn)行測試。

      提示:構(gòu)造哈希表只是完成查找的第一步,大家應(yīng)該掌握在哈希表上進(jìn)行查找的過程,可以試著編程序?qū)崿F(xiàn)。程序清單:

      金陵科技學(xué)院實(shí)驗(yàn)報告

      四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)

      五、實(shí)驗(yàn)體會(遇到問題及解決辦法,編程后的心得體會)

      第五篇:上機(jī)實(shí)驗(yàn)八

      實(shí)驗(yàn)八 折半查找

      一、實(shí)驗(yàn)?zāi)康?、熟悉visual C++上機(jī)環(huán)境,進(jìn)一步掌握C語言的結(jié)構(gòu)特點(diǎn)。

      2、進(jìn)一步掌握圖的基本概念及其含義。

      3、掌握查找的結(jié)構(gòu)特征,以及各種存儲結(jié)構(gòu)的特點(diǎn)及使用范圍。

      4、掌握查找的基本運(yùn)算及其實(shí)現(xiàn)。

      二、實(shí)驗(yàn)內(nèi)容(參照課本上的第220頁)

      設(shè)計一個算法,實(shí)現(xiàn)折半查找算法。

      三、實(shí)驗(yàn)要求

      參照課本220頁算法9.2

      四、實(shí)驗(yàn)報告要求(參照《數(shù)據(jù)結(jié)構(gòu)題集》第83頁實(shí)驗(yàn)報告模板)

      實(shí)驗(yàn)報告必須有以下內(nèi)容:實(shí)驗(yàn)?zāi)康?、?shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)要求、源程序、測試結(jié)果(打印界面的形式表示)。

      下載實(shí)驗(yàn)八 概率算法word格式文檔
      下載實(shí)驗(yàn)八 概率算法.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        實(shí)驗(yàn)5 頁面置換算法

        實(shí)驗(yàn)5 頁面置換算法 一、實(shí)驗(yàn)題目:頁面置換算法(請求分頁) 二、實(shí)驗(yàn)?zāi)康模? 進(jìn)一步理解父子進(jìn)程之間的關(guān)系。 1) 理解內(nèi)存頁面調(diào)度的機(jī)理。 2) 掌握頁面置換算法的實(shí)現(xiàn)方法。 3) 通......

        算法與數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)指導(dǎo)書

        北 京 郵 電 大 學(xué) 計 算 機(jī) 科 學(xué) 與 技 術(shù) 學(xué) 院 算 法 與 數(shù) 據(jù) 結(jié) 構(gòu) 實(shí) 驗(yàn) 指 導(dǎo) 書 楊俊、徐塞虹、漆濤 編著 2006年9月 1 算法與數(shù)據(jù)結(jié)構(gòu) 實(shí)驗(yàn)指導(dǎo)書 目錄......

        算法與數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)冊

        金陵科技學(xué)院實(shí)驗(yàn)報告 學(xué) 生 實(shí) 驗(yàn) 報 告 冊 課程名稱: 學(xué)生學(xué)號: 所屬院部: (理工類) 算法與數(shù)據(jù)結(jié)構(gòu) 專業(yè)班級: 14計單(2) 1413201007 學(xué)生姓名: 毛卓 計算機(jī)工程學(xué)院 指導(dǎo)教師:......

        算法與數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)冊

        金陵科技學(xué)院實(shí)驗(yàn)報告 學(xué) 生 實(shí) 驗(yàn) 報 告 冊 課程名稱: 學(xué)生學(xué)號: 所屬院部: (理工類) 算法與數(shù)據(jù)結(jié)構(gòu) 專業(yè)班級: 學(xué)生姓名: 指導(dǎo)教師: 20 14 ——20 15 學(xué)年 第 二 學(xué)期 金陵科技......

        實(shí)驗(yàn)說明度算法天文

        段落首行縮進(jìn)!說明你在乎他其?子個月;冠它像忠實(shí)的!語版的歌,常感這些對。擇去絡(luò)或事業(yè)十?光徐智勇下學(xué)!為了試驗(yàn)朝。也恐懼警惕。香恵咲希唯香優(yōu)?加出的大。 下的土地,顯示出來為屏!......

        數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)指導(dǎo)(實(shí)驗(yàn)五:查找算法)

        實(shí)驗(yàn)五 查找算法 實(shí)驗(yàn)項(xiàng)目:必做:順序查找、折半查找 選做:二叉查找樹 實(shí)驗(yàn)類型: 驗(yàn)證性 實(shí)驗(yàn)內(nèi)容: 順序查找:用數(shù)組或鏈表實(shí)現(xiàn),數(shù)據(jù)有序或無序均可; 折半查找:必須用數(shù)組實(shí)現(xiàn),且數(shù)據(jù)......

        數(shù)據(jù)結(jié)構(gòu)-實(shí)驗(yàn)8查找的算法

        8.1 實(shí)現(xiàn)順序查找的算法 一, 實(shí)驗(yàn)?zāi)康? 1.熟悉掌握各種查找方法,深刻理解各種查找算法及其執(zhí)行的過程; 2.學(xué)會分析各種查找算法的性能。 二, 實(shí)驗(yàn)內(nèi)容 8.1 實(shí)現(xiàn)順序查找的算法......

        算法與數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)冊[大全五篇]

        金陵科技學(xué)院實(shí)驗(yàn)報告 學(xué) 生 實(shí) 驗(yàn) 報 告 冊 課程名稱: 學(xué)生學(xué)號: 所屬院部: (理工類) 算法與數(shù)據(jù)結(jié)構(gòu) 專業(yè)班級: 學(xué)生姓名: 指導(dǎo)教師: 20 ——20 學(xué)年 第 學(xué)期 金陵科技學(xué)院教務(wù)......