herrDeng網內搜尋
自訂搜尋
Ads
訂閱:
張貼留言 (Atom)
熱門文章
-
教育部為提昇全民資安素養與電腦防護能力,本部於101年9月5日至11月5日舉辦「全民資安素養自我評量」活動,請在活動期間內踴躍上網檢測資訊安全素養認知程度,並有機會參與抽獎,詳情請參閱活動網站(網址: https://isafe.moe.edu.tw/event
-
先說明一下這是後知後覺的解答,所謂後知就是股票價格已知存在陣列(清單),當然就要用迴圈練習,雙迴圈暴力解需時O(n**2),當然不用,採python單一迴圈解答「最佳股票的買賣時機#LeetCode 121 Best Time to Buy and Sell Stock」,解...
-
url="https://www.twse.com.tw/exchangeReport/STOCK_DAY?response=json&date=20220330&stockNo=2330"
-
你會用C的算子sizeof?
-
Python CPP heap priority queue速解L eetcode 2530. Maximal Score After Applying K Operations heap/priority queue是重要的資料結構,無論是C++的std::priority_q...
-
C++ DP動態規劃解Leetcode 937 Maximum Number of Points with Cost 有些標示medium要比標示hard的問題還要難,Leetcode 1937. Maximum Number of Points with Cost,DP動態規...
54 則留言:
1. gcd(55,121)=11
5 55 121 2
55 110
0 115
11
5. (1)sizeof(x)=4+30+4=38→40
(2)輸出noname
50
7. (1)stuct Node
int coef;
int exp;
struct Node*next;
8. (2) i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
(3) 5
3
2
1
9. (1)插入中間節點:
newnode→next=ptr→next;
ptr→next=newnode;
(2)刪除中間節點
while(current→next!=ptr)
current→next=ptr→next;
current=ptr→next;
1.int gcd(int x,int y)
{int r=x%y;
if (r==0)return y;
else return gcd(y,r);
}
算式:
5│55│121│2
│55│110│
├─┼──┤
│ 0│ 11│
5.(1)
4+30+4=38→40
(2)
noname
50
7.(1)
sturuct Node{
int coef;
int exp;
sturuct Node*next;
}
8.(1)
struct Node{
int date;
struct Node*next;
}
(2)
First→5→3→2→1→8→NULL
(3)
5
3
2
1
9.刪除中間節點
while(current→next!=ptr)
current=current→next;
cuttent→next=ptr→next;
1.
int gcd ( int x , int y )
{
int r = x % y ;
if ( r = = 0 )
return y ;
else
return gcd ( y , r ) ;
}
gcd ( 55 , 121 ) = 11
5.(2)
noname
50
7.(1)
struct Node {
int coef ;
int exp ;
struct Node *next ;
}
8.(2)
i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
first->5->3->2->1->8->NULL
8.(3)
5
3
2
1
題目2.
(2)i=n;
do{ a-=3;
i/=3;
}while(a>0);
Ans: O(n)
題目3.
記憶體 位置 名稱 型態
301 0x0012FF7C i int
50 0x0012FF78 j int
0x0012FF78 0x0012FF74 ptr *int
0x0012FF7C 0x0012FF70 ptr1 *int
* ptr = 50 * ptr1 = 301
題目7.
(1)Node之定義:
struct Node
{ int coef;
int exp;
struct Node* next;
};
題目8.
(2)
i 0 1 2 3 4
k=(i+4)%len 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
(3)輸出
5
3
2
1
2. (2) 0(n)
3.
記憶體 位置 名稱 型態
301 0x0012FF7C i int
50 0x0012FF78 j int
0x0012FF78 0x0012FF74 ptr int*
0x0012FF7C 0x0012FF70 ptr1 int*
*ptr=50 ptr1=301
5. (1)4+30+4=38→40
(2)noname 50
7. (1)struct Node{
int coef;
int exp;
struct Node*next;
}
(3)所有節點都是中間節點
8.(1) struct Node{
int data;
struct Node*next;
}
(2)
5 0 1 2 3 4
(i+4)%len 4 0 1 2 3
Array【k】 8 1 2 3 5
first→5 →3 →2 →1 →8 →NULL
(3) 5
3
2
1
第一題
int gcd(int x, int y)
{int r=x%y;
if(r==0)
return y;
else
return gcd(y,r);
}
121/55=2...餘11 (121,11)
121/11=11...餘0 (121,11)
Ans 11
第七題
struct Node
{int coef;
int exp;
struct Node*next;
}
第三題
sizeof(int)=4(bytes)
int i=301;
int j-i/6;
int*ptr=&j;
int*ptr=&i;
記憶體 位置 名稱 型態
301 Ox0012FF7C i int
50 Ox0012FF78 j int
Ox0012FF78 Ox0012FF74 ptr int*
Ox0012FF7C Ox0012FF70 ptr1 int*
*ptr=50 *ptr1=301
第八題
i 0 1 2 3 4
(i+4)%len 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
輸出
5
3
2
1
1.
int gcd(int x,int y);
{
int r=x%y;
if(r==0)
return y;
else
return gcd(y,r);
}
gcd(55,121)=11
3.
記憶體 位置 名稱 型態
301 0*0012FF7C i int
50 0*0012FF78 j int
0*0012FF78 0*0012FF74 ptr int*
0*0012FF7C 0*0012FF70 ptr1 int*
*ptr=50 *ptr=301
5.
(1)sizeof(x)=4+30+4=38→40
(2)輸出
noname
50
7.
(1)
struct Node
{
int coef;
int exp;
struct Node*next;
}
8.
(1)
struct*Node
{
int data;
struct Node*next;
}
(2)
i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
(3)
5
3
2
1
1.
int gcd (int x,y ){
int r=x%y;
if (r==0) return y;
else
return ( y , r ) ;
}
5|55|121|2
|55|110|
| 0| 11|
5.
(1).40
(2).noname
50
7.
(1).
struct node;{
int coef;
int exp;
struct node*next;
}
8.(2).
i 0 1 2 3 4
i+4%5 4 0 1 2 3
array[k]8 1 2 3 5
first→5→3→2→1→8→NULL
(3).
5
3
2
1
(9).插入中間節點
newnod->next=ptr->next;
ptr->next=newnode;
刪除中間節點
while(current->next!=ptr)
current = current->next;
currnet->next = ptr ->next;
1. int gcd (int x, int y)
{
int r=x%y
if (r==0) return y;
else return gcd (y,r);
}
gcd(55,121)=11
2. (2)O(n)
3. 記憶體 位置 名稱 型態
301 0x0012FF7C i int
50 0x0012FF78 j int
0x0012FF78 0x0012FF74 ptr int*
0x0012FF7C 0x0012FF70 ptr1 int*
*ptr=50 *ptr1=301
5. (1)4+30+4=38→40
6. row col value
0 0 7
0 8 3
3 3 3
0 4 7
7. (1) struct Node{
int coef;
int exp;
struct Node *next;
}
(3) 所有節點都是中間節點。
8. (2)first→5→3→2→1→8→NULL
(3) 5
3
2
1
9. 插入中間節點
newnode=ptr→next;
ptr→next=newnode;
刪除中間節點
while (current→next!=ptr)
current→next=ptr→next;
current=ptr→next;
1.
int gcd (int x, int y)
{
int r = x%y;
if return y;
else
return
}
2. i=n;
do{
a-=3;
i/=3;
}while(a>0);
On
3. 記憶體 位置 名稱 型態
301 0x0012FF7C i int
50 0x0012FF78 j int
0x0012FF78 0x0012FF74 ptr *int
0x0012FF7C 0x0012FF70 ptr1 *int
* ptr = 50 * ptr1 = 301
5.
a. 4+30+4=38 b. noname
38+2=40 50
sizeof(x)=40
4. float d[9*12];
int n=9 , k=12
…
for(i=0; i<n; i++)
for(j=0; j<k; j++)
d[i*k+j]=(float) fun(i)/fun(j);
6.
(1)
struct Node{
int coef;
int exp;
struct Node*new
}
(3)因為所有節點都變成中間節點,變成只要處理中間節點
8.
(1) struct Node{ (2) i 0 1 2 3 4 (3)
int data; k=(i+4)%5 4 0 1 2 3 5
struct Node*new; array[k] 8 1 2 3 5 3
} first->5->3->2->1->8->Null 2
1
9.
while(current->next!=ptr)
current = current->next;
current->next = ptr->next;
3.
記憶體 位置 名稱 型態
301 0x0012FF7C i int
50 0x0012FF78 j int
0x0012FF78 0x0012FF74 ptr int*
0x0012FF7C 0x0012FF70 ptr1 int*
*ptr=50 *ptr1=301
5.
(1)4+30+4=38→40
(2)noname
50
sizeof(x)=40
7.(1)struct Node{
int coef;
int exp;
struct Node* next;
}
8.(1)struct Node{
int data;
struct Node*next;
}
(2) i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
(3) 5
3
2
1
9.插入中間節點:
newnode→next=ptr→next;
ptr→next=newnode;
刪除中間節點:
While(current→next!=ptr)
current=current→next;
current→next=ptr→next;
1.
int gcd (int x , int y)
{
int r = x % y ;
if(r = = 0) return y;
else return gcd (y , r);
}
ANS:
x y
55 121
r=55
121 55
r=11
55 11
r=55
y=11
2.
i = n;
do {
a-=3;
i/=3;}
while (a>0);
ANS:
O(n)
3.
記憶體 位置 名稱 型態
301 0*0012FF7C i int
50 0*0012FF78 j int
0*0012FF78 0*0012FF74 ptr int*
0*0012FF7C 0*0012FF70 ptr1 int*
ANS:
*ptr=50 *ptr1=301
5.
(1)size of (x) = 4+30+4 = 38 → 40
(2)noname
50
7.
(1)
struct Node {
int coef;
int exp;
struct Node*next;
}
8.
(2)
i 0 1 2 3 4
k=(1+4%5) 4 0 1 2 3
array 8 1 2 3 5
first → 5 → 3 → 2 → 1 → 8 → NULL
(3)
5 3 2 1
5.
(1)
4+30+4=38
因為要四的倍數所以等於40
7.
(1)
struct node
{
int coff;
int exp;
struct node *next
};
8.
(2)
first->5->3->2->1->8->NULL
(3)5
3
2
1
題目1.
----------------------------------
int gcd (int x, int y)
{
int r = y % x ;
if (r==0)
return x;
else
retutn gcd(x,r);
}
計算
2|121|55|5
|110|55|
|---|--|
| 11| 0|
----------------------------------
題目2.(2)
----------------------------------
i=n;
do{
a-=3;
i/=3;
}while (a>0);
ANS:O(n)
----------------------------------
題目3.
----------------------------------
記憶體 、 位置 、 名稱、 型態
301、 0x0012FF7C 、 i 、int
50 、 0x0012FF78 、 j 、 int
0x0012FF78 、0x0012FF74 、ptr 、 int*
0x0012FF7C、 0x0012FF70 、 ptr1 、int*
ptr=50 ptr1=301
----------------------------------
題目5.(1)
----------------------------------
4+30+4=38 → 40
----------------------------------
題目6.
----------------------------------
列 欄 值
0 0 7
0 8 3
3 3 3
4 0 7
----------------------------------
題目7.(1)
----------------------------------
struct Node
{
int coef;
int exp;
struct Node* next;
}
----------------------------------
題目8.
----------------------------------
i : 0 、 1 、2、 3 、 4
(i+4)%5 : 4、 0 、 1 、 2 、 3
array[k]: 8 、1 、 2 、3 、5
(2) first → 5 → 3 → 2 → 1 → 8 → NULL
(3)
5
3
2
1
----------------------------------
1. gcd(55,121)=11
5 55 121 2
55 110
0 115
11
2.
0(nlogn) 0(n)
3.
50 0x0012FF78
0x0012FF78 0x0012FF74
0x0012FF7C 0x0012FF70
*ptr=50 *ptr1=301
5.
(1)sizeof(x)=4+30+4=38→40
(2)輸出noname
50
6.
row 0034
col 0830
vol 7337
7.
(1)stuct Node
int coef;
int exp;
struct Node*next;
8.
(1)
struct Node{
int data;
struct Node*next;
}
(2)
i 01234
k=(i=4)%5 40123
array[k] 81235
first→5→3→2→1→8→NULL
(3)
5
3
2
1
9.
(1)插入中間節點:
newnode→next=ptr→next;
ptr→next=newnode;
(2)刪除中間節點
while(current→next!=ptr)
current→next=ptr→next;
current=ptr→next;
1.gcd(55,121)=11
5︳55︳121︳2
︳55︳110︳
︳ 0︳ 11︳
2. (2.)
i=n;
do{
a-=3;
i/=3;
while(a>0);
Big O=O(n)
3.
sizeof(int)=4(bytes)
int i=301;
int j-i/6;
int*ptr=&j;
int*ptr=&i;
記憶體 位置 名稱 型態
301 |0x0012FF7C| i int
50 |0x0012FF78| j int
0x0012FF78| 0x0012FF74| ptr int*
0x0012FF7C| 0x0012FF70| ptr1 int*
5.
(1)sizeof(x)=4+30+4=38→40
8.
(2)
i → 0 1 2 3 4
k=(i+4)%5→ 4 0 1 2 3
array[k] → 8 1 2 3 5
first→5→3→2→1→8→NULL
(3)
5
3
2
1
5.(1)4+30+4=38-佔40個位元
8.(2)
i:0 1 2 3 4
k=(i+4)%5:4 0 1 2 3
array[k]:8 1 2 3 5
first→5→3→2→1→8→Null
(3)
5
3
2
1
1.int gcd(intx, inty)
{
int r=x%y;
if(r==0)return y;
else return gcd(y,r);
}
gcd(55,121)=11
2.0(nlogn)
0(n)
0(logn)
3. 301 0x0012FF7C i int
50 0x0012FF78 j int
0x0012FF78 0x0012FF74 ptr int*
0x0012FF7C 0x0012FF70 ptr int*
*prt = 50 *ptr1 = 301
5. 4+30+4 =38
sizeof(X)=40
noname
50
7. struct Node
{
int coef;
int exp;
struct Node*next;
}
8. i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
first-5-3-2-1-8-NULL
5 3 2 1
9. 刪除中間節點
while(current->next!=ptr)
current=current->next;
current->next=ptr->next;
插入中間節點
newnode->next=ptr->next;
ptr->next=newnode;
1. gcd(55,121)=11
5 55 121 2
55 110
0 115
11
2.(2)O(n)
3.
301 0x0012ff7c
50 0x0012ff78
0x0012ff78 0x0012ff74
0x0012ff7c 0x0012ff70
*ptr=50 *ptr1=301
4.float[9*12]; c[i*k+j]=(float)fun(i)/fun(j);
5. (1)sizeof(x)=4+30+4=38→40
(2)輸出noname
50
7. (1)stuct Node
int coef;
int exp;
struct Node*next;
8. (2) i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
(3) 5
3
2
1
9. (1)插入中間節點:
newnode→next=ptr→next;
ptr→next=newnode;
(2)刪除中間節點
while(current→next!=ptr)
current→next=ptr→next;
current=ptr→next;
1.gcd(55,121)=11
5 55 121 2
55 110
0 11
2.
(1)O(n longn)
5.(2)輸出=noname
50
7.
(1)struct Node{
int coef;
int exp;
struct Node*next;
}
(3)所有節點都是中間節點
8.
(2)
i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→Null
(3)
5
3
2
1
1.
gcd(55,121)=11
5│55│121│2
.│55│110│
.│ 0│ 11│
int gcd(int x,int y)
{
int r=x%y;
if(r==0)x%y;
if(r==0)returny;
else retum grd(y,r);
}
2.
(1)O( n log n )
(2)O(n)
5.
(1)sizef(x)=4+30+4=38→40
(2)輸出
noname
50
7.
(1)struct Node{
int coef;
int exp;
struct Node* next;
}
(3)使用開頭節點的環狀串列之優點:所有節點都是中間節點。
8.
(1)struct Node{
int data a;
struct Node* next;
}
(2) i│0 1 2 3 4
k=(i+4)%5│4 0 1 2 3
array[k] │8 1 2 3 5
first→5→3→2→1→8→NULL
(3)
5
3
2
1
9.
插入中間節點:
newnode→next=ptr→next;
prt→next=newnode;
刪除中間節點:
while(current=current→next;
current→next=prt→next;)
1. int gcd(int x,int y)
{
int r==x%y;
if (r==0) return y;
else return gcd(y,r);
}
5|55|121|2 gcd(55,121)=11
|55|110|
| 0| 11|
3. 記憶體 位置 名稱 型態
301 | 0x0012FF7C | i int
50 | 0x0012FF78 | j int
0x0012FF78 | 0x0012FF74 | ptr *int
0x0012FF7C | 0x0012FF70 | ptr1 *int
*ptr=50 *ptr1=301
5. (1)4+30+4=38→40
(2)noname
50
7. struct Node{
int coef;
int exp;
struct Node*next;
}
8.(1) struct Node{
int data;
struct Node*next;
}
(2) i | 0 1 2 3 4
k=(i+4)%5| 4 0 1 2 3
array[k] | 8 1 2 3 5
first→5→3→2→1→8→NULL
(3)5
3
2
1
9. 刪除中間節點
while(current→next!=ptr)
current=current→next;
cuttent→next=ptr→next;
(1)struct Node{
int data;
struct Node*next;
}
(2) i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
(3) 5
3
2
1
8.
(1)struct Node{
int data;
struct Node*next;
}
(2) i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
(3) 5
3
2
1
題目一
int gcd (int x,y ){
int r=x%y;
if (r==0) return y;
else
return ( y , r ) ;
}
5|55|121|2
|55|110|
| 0| 11|
題目三
記憶體 位置 名稱 型態
301 0*0012FF7C i int
50 0*0012FF78 j int
0*0012FF78 0*0012FF74 ptr int*
0*0012FF7C 0*0012FF70 ptr1 int*
*ptr=50 *ptr=301
題目五
(1)sizeof(x)=4+30+4=38→40
(2)輸出
noname
50
題目七
(1) struct Node{
int coef;
int exp;
struct Node *next;
}
(3) 所有節點都是中間節點
題目八
(2)first→5→3→2→1→8→NULL
(3) 5
3
2
1
題目九
插入中間節點
newnode=ptr→next;
ptr→next=newnode;
刪除中間節點
while (current→next!=ptr)
current→next=ptr→next;
current=ptr→next;
題目1.
struct*gcd(int x,int y)}
int r;
r=(x%y);
if(r==0)
return y
else
return gcd(y,r);
{
題目2.
1.0(nlogn) 2.0(n) 3.0(logn)
題目5.
1. 4+30+4=38→40
2. noname 50
題目7.
sturuct Node{
int coef;
int exp;
sturuct Node*next;
}
題目8.
(1) struct Node{
int data;
struct Node*next;
}
(2)
i 0 1 2 3 4
(i+4)%len 4 0 1 2 3
array[k] 8 1 2 3 5
first→5 →3 →2 →1 →8 →NULL
(3)
5
3
2
1
第一題
int gcd(int x,int y)
{int r=x%y;
if (r==0)return y;
else return gcd(y,r);
}
第二題
1) O(n log n) 2) O(n) 3) O(log n)
第五題
(1)sizeof(x)=4+30+4=38→40
(2)輸出
noname
50
第七題
sturuct Node{
int coef;
int exp;
sturuct Node*next;
}
第八題
1)
struct*Node
{
int data;
struct Node*next;
}
2)
i 0 1 2 3 4
(i+4)%len 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
輸出
5
3
2
1
第九題
源碼
while(current→next!=ptr)
current=current→next;
cuttent→next=ptr→next;
1. gcd(55,121)=11
5 55 121 2
55 110
0 115
11
(2)
i=n;
do{ a-=3;
i/=3;
}while(a>0);
Ans: O(n)
3.
記憶體 位置 名稱 型態
301 0x0012FF7C i int
50 0x0012FF78 j int
0x0012FF78 0x0012FF74 ptr *int
0x0012FF7C 0x0012FF70 ptr1 *int
* ptr = 50 * ptr1 = 301
8.
i 0 1 2 3 4
(i+4)%len 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
輸出
5
3
2
1
9.
(1)插入中間節點:
newnode→next=ptr→next;
ptr→next=newnode;
(2)刪除中間節點
while(current→next!=ptr)
current→next=ptr→next;
current=ptr→next;
1. int gcd(intx,inty)
{
int r=x%y;
if(r==0)return y;
else return gcd(y,r);
}
2.(2)
O(n)
3.
記憶體 位置 名稱 型態
301 0x0012ff7c i int
50 0x0012ff78 j int
0x0012ff78 0x0012ff74 ptr int*
0x0012ff74 0x0012ff70 ptr1 int*
*ptr=50 *ptr1=301
4.
float d[108];
int n=9,k=12;
for(i=0;i < n;i++)
for(j=0;j < k;j++)
d[i*l+j]=float fun(i)/fun(j);
5.
(1)
sizeof(x)=4+30+4=38--->40
(2)
noname 50
7.
(1)
struct Node {
int coef;
int exp;
struct Node*next;
(2)
所有節點都是中間節點
8.
(2)
i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
first->5->3->2->1->8->NULL
(3)
5
3
2
1
9.
插入: next->next=ptr->next;
Newnode=ptr->next;
刪除: while(current->next!=ptr)
current=current->next;
current->next=ptr->next;
1. int gcd(intx,inty)
{
int r=x%y;
if(r==0)return y;
else return gcd(y,r);
}
2.(2)
O(n)
3.
記憶體 位置 名稱 型態
301 0x0012ff7c i int
50 0x0012ff78 j int
0x0012ff78 0x0012ff74 ptr int*
0x0012ff74 0x0012ff70 ptr1 int*
*ptr=50 *ptr1=301
4.
float d[108];
int n=9,k=12;
for(i=0;i < n;i++)
for(j=0;j < k;j++)
d[i*l+j]=float fun(i)/fun(j);
5.
(1)
sizeof(x)=4+30+4=38--->40
6.
row col value
0 0 7
0 8 3
3 3 3
4 0 7
7.
(1)
struct Node {
int coef;
int exp;
struct Node*next;
(2)
所有節點都是中間節點
8.
(2)
i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
first->5->3->2->1->8->NULL
(3)
5
3
2
1
9.
插入: next->next=ptr->next;
Newnode=ptr->next;
刪除: while(current->next!=ptr)
current=current->next;
current->next=ptr->next;
7
(1)
Node之定義?
struct Node{
int coef;
int exp;
struct Node* next;
}
8
(2)
first-> 5-> 3-> 2-> 1-> 8-> NULL
(3)
5
3
2
1
1.
int gcd(int x,int y)
{int r=x%y;
if (r==0)return y;
else return gcd(y,r);
}
2.
(1)o(nlogn) (2) o(n) (3) o(logn)
3.
記憶體 位置 名稱 型態
301 0x0012FF7C i int
50 0x0012FF78 j int
0x0012FF78 0x0012FF74 ptr *int
0x0012FF7C 0x0012FF70 ptr1 *int
* ptr = 50 * ptr1 = 301
4.
float d[108];
int n=9 、k=12
…
for(i=0; i<n; i++)
for(j=0; j<k; j++)
d[i*k+j]=(float) fun(i)/fun(j);
5.
1)sizeof(x)=4+30+4=38→40
(2)輸出noname
50
7.
(1) struct Node{
int coef;
int exp;
struct Node *next;
}
(3) 所有節點都是中間節點。
8.
(2)first→5→3→2→1→8→NULL
(3) 5.3.2.1
9.
插入中間節點
newnode=ptr→next;
ptr→next=newnode;
刪除中間節點
while (current→next!=ptr)
current→next=ptr→next;
current=ptr→next;
1. int gcd (int x,int y)
{ int r=x%y;
if (r= =o)return y;
else return gcd (y,r);
}
2.(1)0(n logn)(2)0(n)(3)0(logn)
3.記憶體 位置 名稱 型態
30 0x0012FF7C i int
50 0x0012FF78 j int
0x0012FF78 0x0012FF74 ptr int*
0x0012FF74 0x0012FF70 ptr1 int*
4.float[9*12]; c[i*k+j]=(float)fun(i)/fun(j);
5.(2)noname 50
6.row col val
0 0 7
0 8 3
3 3 3
4 0 7
7.(1)struct Node{
int coef;
int exp;
struct Node*next;
}
8.(2) i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array 8 1 2 3 5
1.
int gcd (int x, int y)
gcd(55,121)=11
int r=x%y; if(r==0) return;
else return gcd (y,r);
5│55│121│2
│55│121│
=============
│0 │11│
2.
0(n logn)
0(n)
0(log n)
5.
(1)4+30+4=38-->40
(2)noname
50
7.(1)
stuct Node{
int coef;
int exp;
struct Node*next;
}
(3)所有節點都是中間節點
8.
(2) i │ 01234
k=(i+4)55│ 40123
array[k] │ 81235
(3)
5
3
2
1
9.插入中間節點
newnod->next=ptr->next;
ptr->next=newnode;
1.
int gcd (int x, int y)
{
int r=x%y
if (r==0) return y;
else return gcd (y,r);
}
gcd(55,121)=11
2.
(1)
o(n logn)
(2)
O(n)
3.
記憶體 位置 名稱 型態
301 0x0012FF7C i int
50 0x0012FF78 j int
0x0012FF78 0x0012FF74 ptr *int
0x0012FF7C 0x0012FF70 ptr1 *int
* ptr = 50 * ptr1 = 301
5.
(1)sizeof(x)=4+30+4=38→40
(2)輸出noname= 50
7.
dtruct Node{
int coef;
int exp;
struct Node*next;
}
8.
(1)
struct Node{
int data;
struct Node*next;
}
(2)
i 0 1 2 3 4
k=i+4%5 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
(3)
5
3
2
1
9.
刪除中間節點
while (current→next!=prt)
current→next=ptr→next;
current=ptr→next;
1. 5│55│121│2
│55│110│
├─┼──┤
│ 0│ 11│
int gcd(int x,int y)
{int r=x%y;
if (r==0)return y;
else return gcd(y,r);
}
2-2 O(n)
5-1 4+30+4=38→40
5-2 n0name
50
7-1 stuct Node
int coef;
int exp;
struct Node*next;
7-3 所有節點都是中間節點
8-1
struct Node{
int date;
struct Node*next;
}
8-2
first→5→3→2→1→8→NULL
8-3
5
3
2
1
9-2
while(current→next!=ptr)
current=current→next;
cuttent→next=ptr→next;
1.
int gcd(int x,int y)
{int r=x%y;
if (r==0) return y;
else return gcd(y,r);
}
5.
(1)sizeof(x)=40
(2)
noname
50
6.
欄 列 值
0 0 7
0 8 3
3 3 3
4 0 7
7.
struct Node{
int coef;
int exp;
struct Node*next;
}
8.(2)
i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
(3)
5
3
2
1
9.while(current->next!=ptr)
current=current->next;
current->next=ptr->next;
1.
gcd( int x,int y )
{
r=x % y;
if( r==0 )
return y;
else
return gcd ( y,r );
5.
(1)30+4+4=38 40-->要四倍數
(2)noname
50
7.
struct Node {
int coef;
int exp;
struct Node* next;
}
8.
(1)
struct Node
{
int data
struct Node* next;
};
(2)
frist->5->3->2->1->8->NULL
(3)
5
3
2
1
9.
插入: next->next=ptr->next;
Newnode=ptr->next;
刪除: while(current->next!=ptr)
current=current->next;
current->next=ptr->next;
1.
int gcd(int x,int y)
{
int r=x%y;
if (r==0)
return y;
else
return gcd(y,r) ;
}
gcd (55,121) = 11
2.
(1)O(nlogn)
(2)O(n)
(3)O(logn)
5. sizeof(x)=4+30+4=38→40
7.
(1) struct Node{
int coef;
int exp;
struct Node* next;}
1.
int gcd(int x,int y);
{
int r=x%y;
if(r==0)
return y;
else
return gcd(y,r);
}
gcd(55,121)=11
4. float d[9*12];
int n=9 , k=12
for(i=0; i<n; i++)
for(j=0; j<k; j++)
d[i*k+j]=(float) fun(i)/fun(j);
5. (1)sizeof(x)=4+30+4=38→40
(2)輸出noname
50
7.(1)
struct Node
{
int coef;
int exp;
struct Node*next;
}
8. (2)first→5→3→2→1→8→NULL
(3) 5
3
2
1
9.刪除中間節點
while (current→next!=ptr)
current→next=ptr→next;
current=ptr→next;
1.
int gcd ( int x , int y )
{
int r = x % y ;
if ( r = = 0 )
return y ;
else
return gcd ( y , r ) ;
}
gcd ( 55 , 121 ) = 11
5 55 121 2
55 110
0 115
11
Ans:11
2.
(2)i=n;
do{ a-=3;
i/=3;
}while(a>0);
Ans:O(n)
3.
記憶體 位置 名稱 型態
301 0x0012FF7C i int
50 0x0012FF78 j int
0x0012FF78 0x0012FF74 ptr int*
0x0012FF7C 0x0012FF70 ptr1 int*
*ptr=50 *ptr1=301
5.
(2)輸出
noname
50
7.
(1)
struct Node
{
int coef;
int exp;
struct Node*next;
}
8.
(2)
i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k]8 1 2 3 5
first→5→3→2→1→8→NULL
(3)
5
3
2
1
9.
(1)插入中間節點:
newnode→next=ptr→next;
ptr→next=newnode;
(2)刪除中間節點
while(current→next!=ptr)
current→next=ptr→next;
current=ptr→next;
1.
int gcd(int x,int y)
{int r=x%y;
if (r==0)return y;
else return gcd(y,r);
}
算式:
5│55│121│2
│55│110│
│──┼───┤
│ 0│ 11│
2.
(1)
o(n)*o(log n)
=o(n(log n))
3.
301 0x0012FF7C i int
50 0x0012FF78 j int
0x0012FF78 0x0012FF74 ptr int*
0x0012FF7C 0x0012FF70 ptr1 int*
*ptr=50 *ptr1=301
5.
(1)4+30+4=38→40
(2)noname
50
ptr[0]=x;
ptr=&x;
7.
(1)
struct Node
{
int coef;
int exp;
struct Node*next;
}
8.
(2)
i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k]8 1 2 3 5
first→5→3→2→1→8→NULL
(3)
5
3
2
1
9.
(1)插入中間節點:
newnode→next=ptr→next;
ptr→next=newnode;
(2)刪除中間節點
while(current→next!=ptr)
current→next=ptr→next;
current=ptr→next;
1.
int gcd(cint x,int y)
{int r=x%y;
if(r==0)return y;
else return
gct(t.y);}
2.
(1)
a=0;
for(k=1;k < n;k+2=0)
for(j=n;j > 0;j/=3)
a++
→O(n iog n)
(2)
i=n;do{a--3;
i/=3;}
while(a > 0);
→O(n)
(3)
void output(int n)
{if (n >= 0)
output(n/2);
else
out << "Poooo"}
→O(log n)
5.
struct Person
{int id;
char name[30];
int age;}
struct Person X={2,"小英",50};
struct Person Y={3,"noname",20};
struct Person ptr[2];
ptr[0]=x;
(1)
→sizeof(x)=4+30+4=38=40
(2)
輸出=nonamet 50
cout << (ptr+1→name << end1;
cout << (*pre).age << end1;
7.
使用含開頭節點環狀串列來處裡多項式
(1)
Node之定義
struct Node
{int coef;
int exp;
struct Node* next;}
8.
(1)Node之定義?
struct Node {int data;
struct Node*nxt; }
(3)輸出:
5.3.2.1
1.
gcd(55,121)=11
5 55 121 2
55 110
0 115
11
2.
(2) O(n)
3.
記憶體 位置 名稱 型態
301 0x0012FF7C i int
50 0x0012FF78 j int
0x0012FF78 0x0012FF74 ptr int*
0x0012FF7C 0x0012FF70 ptr1 int*
*ptr=50 ptr1=301
5.
(1)4+30+4=38→40
(2)noname 50
7.
(1)struct Node{
int coef;
int exp;
struct Node*next;
}
8.
(1)
struct Node{
int data;
struct Node*next;
}
(2)
5 0 1 2 3 4
(i+4)%len 4 0 1 2 3
Array【k】 8 1 2 3 5
first→5 →3 →2 →1 →8 →NULL
(3)
5
3
2
1
(9)
插入中間節點
newnod->next=ptr->next;
ptr->next=newnode;
刪除中間節點
while(current->next!=ptr)
current = current->next;
currnet->next = ptr ->next;
1.int gcd (int x, int y){
int r = x%y;
if return y;
else
return
}
5.(1)
4+30+4=38→40
(2)
noname
50
7.(1)
sturuct Node{
int coef;
int exp;
sturuct Node*next;
}
8.
(1)
struct*Node
{
int data;
struct Node*next;
}
(2)
i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
(3)
5
3
2
1
9.
插入中間節點
newnode=ptr→next;
ptr→next=newnode;
刪除中間節點
while (current→next!=ptr)
current→next=ptr→next;
current=ptr→next;
1.
gcd(55,121)=11
5 55 121 2
55 110
0 115
11
int gcd(int x,int y)
{int r=x%y;
if (r==0)return y;
else return gcd(y,r);
}
5.
(1)sizeof(x)=4+30+4=38→40
7.
stuct Node
int coef;
int exp;
struct Node*next;
8.
(1)struct Node{
int date;
struct Node*next;
}
(2)
First→5→3→2→1→8→NULL
(3)
5
3
2
1
1.
int gcd(int x,int y)
{int r=x%y;
if (r==0)return y;
else return gcd(y,r);
}
算式:
5│55│121│2
│55│110│
├--┼---┤
│ 0│ 11│
3.
記憶體 位置 名稱 型態
301 |0x0012FF7C| i | int
50 |0x0012FF78| j |int
0x0012FF78|0x0012FF74| ptr |*int
0x0012FF7C|0x0012FF70| ptr1 |*int
* ptr = 50 * ptr1 = 301
5.(1)
4+30+4=38→40
(2)
noname
50
6.
列 欄 值
0 0 1
0 8 3
3 3 3
4 0 7
7.
(1)
stuct Node{
int coef;
int exp;
struct Node*next;
}
8.
(2)
First→5→3→2→1→8→NULL
(3)
5 3 2 1
9.
插入中間節點
newnod->next=ptr->next;
ptr->next=newnode;
刪除中間節點
while(current->next!=ptr)
current = current->next;
currnet->next = ptr ->next;
1.
int gcd(int x,int y);
{
int r=x%y;
if(r==0)
return y;
else
return gcd(y,r);
}
gcd(55,121)=11
3.
記憶體 位置 名稱 型態
301 0*0012FF7C i int
50 0*0012FF78 j int
0*0012FF78 0*0012FF74 ptr int*
0*0012FF7C 0*0012FF70 ptr1 int*
*ptr=50 *ptr=301
5.
(1)sizeof(x)=4+30+4=38→40
(2)輸出
noname
50
7.
(1)
struct Node
{
int coef;
int exp;
struct Node*next;
}
8.
(1)
struct*Node
{
int data;
struct Node*next;
}
(2)
i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
(3)
5
3
2
1
1.
int gcd ( int x , int y )
{
int r = x % y ;
if ( r = = 0 )
return y ;
else
return gcd ( y , r ) ;
}
gcd ( 55 , 121 ) = 11
5 55 121 2
55 110
0 115
11
Ans:11
2.
(2)i=n;
do{ a-=3;
i/=3;
}while(a>0);
Ans: O(n)
5. (1)sizeof(x)=4+30+4=38→40
(2)輸出noname
50
7. (1)stuct Node
int coef;
int exp;
struct Node*next;
8. (2) i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
(3) 5
3
2
1
9. (1)插入中間節點:
newnode→next=ptr→next;
ptr→next=newnode;
(2)刪除中間節點
while(current→next!=ptr)
current→next=ptr→next;
current=ptr→next;
1.int gcd(int x,int y)
{int r=x%y;
if (r==0)return y;
else return gcd(y,r);
}
5│55│121│2
│55│110│
├─ ┼── ┤
│ 0│ 11│
2. (2) 0(n)
3.記憶體 位置 名稱 型態
301 0x0012FF7C i int
50 0x0012FF78 j int
0x0012FF78 0x0012FF74 ptr *int
0x0012FF7C 0x0012FF70 ptr1 *int
* ptr = 50 * ptr1 = 301
5.
(1)
4+30+4=38→40
(2)
noname
50
7.
(1)Node之定義:
struct Node
{
int coef;
int exp;
struct Node* next;
};
8.
(2)
i 0 1 2 3 4
k=(i+4)%len 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
(3)輸出
5
3
2
1
9.
刪除中間節點
while (current → next != ptr)
current = current → next;
cuttent → next = ptr → next;
2.
O(nlogn),O(n),O(logn)
5.
(1)sizeof(x)=4+30+4=38→40
(2)輸出noname,50
7.
(1)stuct Node
int coef;
int exp;
struct Node*next;
8.
(2)
i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
(3)
5
3
2
1
9.
(2)刪除中間節點
while(current→next!=ptr)
current→next=ptr→next;
current=ptr→next;
1.
int gcd(int x,int y)
{int r=x%y;
if (r==0)return y;
else return gcd(y,r);
}
5│55│121│2
│55│110│
├─┼─-┤
│ 0│ 11│
2.
(2) 0(n)
3.記憶體 位置 名稱 型態
301 0x0012FF7C i int
50 0x0012FF78 j int
0x0012FF78 0x0012FF74 ptr *int
0x0012FF7C 0x0012FF70 ptr1 *int
* ptr = 50 * ptr1 = 301
6.
row col value
0 0 7
0 8 3
3 3 3
4 0 7
5.
(2)noname
50
7.
(1)
sturuct Node{
int coef;
int exp;
sturuct Node*next;
}
(3)
所有節點都是中間節點
8.
(2)
i 0 1 2 3 4
k=(i+4)%len 4 0 1 2 3
array[k] 8 1 2 3 5
first→5→3→2→1→8→NULL
(3)輸出
5
3
2
1
9.
插入中間節點
newnod->next=ptr->next;
ptr->next=newnode;
刪除中間節點
while (current → next != ptr)
current = current → next;
cuttent → next = ptr → next;
1.int gcd(int x,int y)
{int r=x%y;
if (r==0)return y;
else return gcd(y,r);
}
算式:
5│55│121│2
│55│110│
├─┼──┤
│ 0│ 11│
5.(1)
4+30+4=38→40
(2)
noname
50
7.(1)
sturuct Node{
int coef;
int exp;
sturuct Node*next;
}
8.(1)
struct Node{
int date;
struct Node*next;
}
(2)
First→5→3→2→1→8→NULL
(3)
5
3
2
1
1. gcd(55,121)=11
5 55 121 2
55 110
0 115
11
3.
記憶體 位置 名稱 型態
301 0x0012FF7C i int
50 0x0012FF78 j int
0x0012FF78 0x0012FF74 ptr int*
0x0012FF7C 0x0012FF70 ptr1 int*
*ptr=50 ptr1=301
5.(2)
noname
50
6. row col value
0 0 7
0 8 3
3 3 3
0 4 7
7. (1)struct Node{
int coef;
int exp;
struct Node*next;
}
(3)所有節點都是中間節點
8.(2)
i 0 1 2 3 4
k=(i+4)%5 4 0 1 2 3
array[k] 8 1 2 3 5
first->5->3->2->1->8->NULL
8.(3)
5
3
2
1
張貼留言