大連理工大學數據結構作業答案
⑴ 大連理工大學編的工科數學分析的書後習題有答案嗎
它的同步輔導有部分解題過程,其他的只有課本章節後邊有結果,但是沒有過程
⑵ 數據結構作業
這是我自己根據清華大學出版社出版的《數據結構(C語言版)》課本線性鏈表那章裡面一些演算法寫的一個關於線性鏈表的一個頭文件,自我感覺很好用。。而已一直在用。。取名LinkList.h。。注釋特詳細。。肯定能對你有幫助。。代碼如下:
//以下代碼由Sylar編寫
#include "stdlib.h"
#include "stdio.h"
#define ElemType int //以int為例
#define ScanfType "%d" //以int為例
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
Status GetElem_L(LinkList L,int i,ElemType *pe){ //演算法2.8,P29,時間復雜度O(n)
//L為帶頭結點的單鏈表的頭指針
//當第i個元素存在時,其值賦給e並返回OK,否則返回ERROR
LinkList p=L->next;int j=1; //初始化,p指向第一個結點,j為計數器
while(p&&j<i){ //順指針向後查找,直到p指第i個元素或p為空
p=p->next;++j;
}
if(!p||j>i) return ERROR; //第i個元素不存在
*pe=p->data;
return OK;
}//GetElem_L
Status ListInsert_L(LinkList *pL,int i,ElemType e){ //算飯2.9,P30,時間復雜度O(n)
//在帶頭結點的單鏈線性表L中第i個位置之前插入元素e
LinkList p=*pL;int j=0;
while(p&&j<i-1){ //尋找第i-1個結點
p=p->next;++j;
}
if(!p||j>i-1) return ERROR; //i小於或者大於表長則返回ERROR
LinkList s=(LinkList)malloc(sizeof(LNode)); //生成新結點
s->data=e;s->next=p->next;p->next=s; //插入L中
return OK;
}//ListInsert_L
Status ListDelete_L(LinkList *pL,int i,ElemType *pe){ //算飯2.10,P30,時間復雜度O(n)
//在帶頭結點的單鏈線性表L中,刪除第i個元素,並由*pe返回其值
LinkList p=*pL;int j=0;
while(p&&j<i-1){ //尋找第i個結點,並令p指向其前趨
p=p->next;++j;
}
if(!p||j>i-1) return ERROR; //刪除位置不合理
LinkList q;
q=p->next;*pe=q->data;p->next=q->next;free(q); //刪除並釋放結點
return OK;
}//ListDelete_L
Status ListDelete_L2(LinkList *pL,int i){ //時間復雜度O(n)
//在帶頭結點的單鏈線性表L中,刪除第i個元素
LinkList p=*pL;int j=0;
while(p&&j<i-1){ //尋找第i個結點,並令p指向其前趨
p=p->next;++j;
}
if(!p||j>i-1) return ERROR; //刪除位置不合理
LinkList q;
q=p->next;p->next=q->next;free(q); //刪除並釋放結點
return OK;
}//ListDelete_L2
void CreateList_L(LinkList *pL,int n){ //演算法2.1,P30
//逆序輸入n個元素的值,建立帶表頭結點的單鏈線性表L
LinkList L=*pL=(LinkList)malloc(sizeof(LNode));
L->next=NULL; //建立帶表頭結點的單鏈表
for(int i=0;i<n;i++){
LinkList q=(LinkList)malloc(sizeof(LNode)); //生成新結點
scanf(ScanfType,&q->data); //插入元素值
q->next=L->next;L->next=q;
}
}//CreateList_L
void CreateList_L2(LinkList *pL,int n){
//順序輸入n個元素的值,建立帶表頭結點的單鏈線性表L
LinkList L=*pL=(LinkList)malloc(sizeof(LNode));
L->next=NULL; //建立帶表頭結點的單鏈表
LinkList p=*pL;
for(int i=0;i<n;i++){
LinkList q=(LinkList)malloc(sizeof(LNode)); //生成新結點
p->next=q;
scanf(ScanfType,&q->data); //插入元素值
q->next=NULL;
p=q;
}
}//CreateList_L2
void MergeList_L(LinkList La,LinkList Lb,LinkList *pLc){ //演算法2.12,P31
//已知單鏈線性表La和Lb的元素按值非遞減排列
//歸並La和Lb得到新的單鏈線性表Lc,Lc的元素也按值非遞減排列
LinkList pa,pb,pc;
pa=La->next; pb=Lb->next;
*pLc=pc=La; //用La的頭結點作為Lc的頭結點
while(pa&&pb){
if(pa->data<=pb->data){
pc->next=pa;pc=pa;pa=pa->next;
}
else{
pc->next=pb;pc=pb;pb=pb->next;
}
}
pc->next=pa?pa:pb; //插入剩餘段
free(Lb);
}//MergeList_L
如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!
⑶ 哪裡可以弄到大連理工大學數據結構與離散數學考研試題
不是自2008年以後計算機都是全國統一命題了嗎?你不是統考的話,可以找現在的在讀研究生問問。不過一般來說,太早的題就沒什麼參考價值了。
另外你可以看看他們的本科生用的什麼教材,重點學習了哪些章節。自己出題的話,肯定側重於平時講的內容。
⑷ 東北大學16春學期《數據結構Ⅰ》在線作業參考答案
你是做作業的時候遇到難題了嗎?數據結構的作業題還是有一定難度的,建議你多看書熟記知識點,zuoyewuyou的作業輔導,助你一臂之力
