當前位置:首頁 » 操作系統 » 編寫演算法

編寫演算法

發布時間: 2022-02-05 18:31:10

A. 求編寫演算法

先開兩個數組s和q, s存放棧中的數據,q存放隊列中的數據,遍歷棧S,碰到奇數就把數據放到數組q中,碰到偶數就放到數組s中,然後再把數組s和q中的數據分別插入到棧S和隊列Q中即可。

B. 數據結構編寫演算法

Node * min = list->head; //minmum node
Node * prv = NULL; //prv's link is the minmum node
while p! = NULL // find the mimimum
if min->data>p->data
min = p; //每找到一個比當前minmun更小的節點,則讓P指向這個節點。
end if
prv = p; //讓prv的始終指向p的前一個節點
p = p->link;
end while
if prv != NULL // prv is changed,reset the links
prv->link = p->link; //下面3行:讓p前面的節點指向p後面的節點
//(p就不在鏈表裡了),然後p指向head,並
//把鏈表的head設為p
p->link = list->head;
list->head = p;
end if
//else head is the minmum node

///註:沒有用malloc申請新的節點,只是申請了新的節點的指針。

//稍微完善了一下,修正了幾個錯誤並寫了注釋,樓主可以看著給分吧,強烈bs那個我東西的人。寫軟體的最煩的就是你這種人。

C. 編寫數據結構演算法

1、編寫刪除單鏈表中值為X的演算法。
typedef struct LNode
{ int data;
struct LNode *next;
}LinkList;
void del(LinkList *&L,int value) {
LinkList *p;
while(L->next!=NULL){
p=L->next;
if(p->data==value)
L->next=p->next;
delete p;
L=L->next;
}
}

2、編寫演算法計算指定子串在一個字元串中出現的次數
typedef struct
{
char data[100];
int len;
}SqString;
int StrCount(SqString *substr,SqString *str){
int flag=1,count;
for (int i=0;i<str->len-substr->len;i++){
flag=1;
for (int j=0;j<substr->len;j++)
if (*(substr+j)!=*str) flag=0;
if (flag==1) count++;
}
return count;
}

D. 計算機編程常用演算法有哪些

貪心演算法,蟻群演算法,遺傳演算法,進化演算法,基於文化的遺傳演算法,禁忌演算法,蒙特卡洛演算法,混沌隨機演算法,序貫數論演算法,粒子群演算法,模擬退火演算法。

模擬退火+遺傳演算法混合編程例子:
http://..com/question/43266691.html
自適應序貫數論演算法例子:
http://..com/question/60173220.html

E. 計算機編程的演算法是什麼意思

演算法,對應的英文單詞是algorithm,這是一個很古老的概念,最早來自數學領域,是用於解決某一類問題的公式和思想。

計算機科學領域的演算法,本質是一系列程序指令,用於解答特定的運算和邏輯問題。一般運用時間復雜度和空間復雜度來衡量演算法好壞。

學習演算法,不需要死記硬背那些冗長復雜的背景知識、底層原理、指令語法,需要做的事零五演算法思想、理解演算法對內存空間和性能的影響,以及開動腦筋去尋求解決問題的最佳方案。

數據結構是演算法的基石,是數據的組織、管理和存儲的格式,其目的是為了高效地訪問和修改數據。數據結構的組成方式有:線性結構、樹、圖等。有了數據結構這個舞台,演算法才可以盡情舞蹈,所以在學習演算法之前最好先系統學習數據結構。在解決問題時,不同的演算法會選用不同的數據結構。例如排序演算法中的堆排序,利用的就是二叉堆這樣一種數據結構。

F. 演算法編寫方法

C語言程序也是演算法的一種形式,以後老師讓你寫演算法的時候你就寫程序吧,他會給你滿分的。

演算法是一種簡化的、抽象的程序,是通俗語言加上一些邏輯格式對程序過程的描述,它不是程序,但是所有的程序員都能把它翻譯為自己會的那種程序。

G. 如何編寫高效的演算法

我也在看演算法導論..那本書太恐怖了....

學演算法是肯定需要數學基礎的 所以...數學再加油吧

H. C語言演算法的編寫

同學你好,通過找規律可以得到,當n為偶數時,結果為0,n為奇數時,結果為-1;
所以直接用if條件語句判斷一下就好啦!
望採納,謝謝!

I. 編寫一個演算法

int func(float Arr[], int num)
{
int flag = 0;//如果有大於1000,則標志位為1
int i = 0;
int index = 0;
float min = Arr[0];

for( i = 0; i < num; i++)
{
if( Arr[i] > 1000 )
{
flag = 1;
if ( Arr[i] < min)
{
min = Arr[i];
index = i;
}
}
}

if (flag)
return index;
else
return -1;

}
時間復雜度是O(n)

J. 編寫演算法

int Count(BTreeNode* BT)
{
int nLeftLeave, nRightLeave;
if( (BT->Left == NULL) && (BT->Right == NULL) )
return 1; // leave node
if( BT->Left != NULL )
nLeftLeave = Count(BT->Left);
if( BT->Right != NULl)
nRightLeave = Count(BT->Right);
return nLeftLeave + nRightLeave;
}

雖然晚了點;不過我就是喜歡遞歸

熱點內容
編程軟體基礎培訓 發布:2025-01-11 12:20:20 瀏覽:287
imeet網站伺服器地址 發布:2025-01-11 12:15:35 瀏覽:331
ps緩存時間 發布:2025-01-11 11:55:36 瀏覽:865
雲伺服器容災 發布:2025-01-11 11:51:40 瀏覽:682
phparraysplice 發布:2025-01-11 11:51:40 瀏覽:320
android學習源碼 發布:2025-01-11 11:26:23 瀏覽:413
伺服器都壞了如何恢復 發布:2025-01-11 11:24:04 瀏覽:354
微博緩存的圖片能清理嗎 發布:2025-01-11 11:01:49 瀏覽:308
文字加密器 發布:2025-01-11 11:01:08 瀏覽:455
vc60非靜態編譯 發布:2025-01-11 10:51:32 瀏覽:615