嵌入式每日學習心得2017 07 25

2021-08-04 08:03:07 字數 1045 閱讀 4184

1二分查詢

前提:有序

時間複雜度:log2^n

空間複雜度

步驟:1取出未查詢區間的中間值(left+right)/2

2查詢關鍵字key與中間值進行比較:如果key>mid(key在右邊),key3key!=mid,則迴圈1到2步驟,直到區間不存在為止

2結構體(struct)

srtuct 型別

定義變數:引用成員

./->   注:->優先順序大於*

指標與結構體變數:

struct 型別* 變數名

以定義型別的順序進行初始化

以a.b的形式進行引用

分配空間時,會以位元組對齊

以最大長度型別作為基本分配空間單位

如果此成員分配的空間足夠使下面的成員使用,則會共享

3棧(stack)

先進後出

應用:函式呼叫,高階功能計算器,取優先順序

功能:複雜資料型別

棧頂:允許被操做的一端

棧底:不允許被操作的的一端

壓棧 push()

出棧 pop()

棧是否為滿 isfull()

棧是否為空 isempty()

進棧:a->b->c->d

出棧:d->c->b->a

高階功能計算器

中綴表示式 :1+1

字尾表示式 :1 1+

字首表示式 :+1 1

字尾1數字進棧

2如果是運算子則將棧頂與次棧頂取出,進行運算並再次進棧

3直到字尾表示式遍歷完成

中綴轉字尾

1將中綴表示式從左往右遍歷

2如果是數字則成為字尾表示式一部分,如果是運算子時:

(1)如果是(或棧為的優先順序空時直接入棧

(2)如果是)則將棧頂元素依次出棧,直到遇到主括號為止

(3)如果當前運算子的優先順序高則進棧,否則出棧。出棧到棧頂元素要優先順序低於時或棧為空時停止

(4)直到遍歷完成

例:中表示式式: (3+2)-4*2+9

字尾表示式: 3 2 + 4 2 * - 9 +   

嵌入式每日學習心得2017 07 08

linux系統管理技術 linux系統的使用方式 1 桌面環境操作 傻瓜化,但功能不夠強大,某些操作效率很低甚至無法完成 2 shell命令 專業高效,但非常不直觀友好,學習難度大,需要記憶命令 要成為unix linux系統骨灰級玩家,必須常用掌握shell命令!常用的桌面環境 gnome kde...

嵌入式每日學習心得2017 07 10

對於linux相關命令,再次作一點總結,今天是上半部分,明天是下半部分 關於布置的小問題 問題1更改使用者名稱 usermod l newusername username 問題2更改主機名 hostname newname vi etc sysconfig network 問題3su和su 的區別...

嵌入式每日學習心得2017 07 13

進製 表數方式,是幾進製,就逢幾進一 十進位制 逢十進一 9 0 123 10 百 十 個 1 3 0 二進位制 逢二進一 1 0 2 八進位制 逢八進一 7 0 0123 八 十 3 8 0 2 8 1 1 8 2 八 二 001 010 011 十六進製制 逢十六進一 f a 9 0 0x321...