我剛剛查完集合運算順序和邏輯運算順序,
按照我的理解,順便來回答一下!(我的提問)
集合的交並補運算子沒有優先順序順序,運算順序完全由括號決定。
邏輯與或非才有優先順序順序:邏輯非》邏輯與》邏輯或。
以下內容來自維基百科:
交換律a交b=b交a
a並b=b並a
結合律(a交b)交 c = a 交(b交c)
(a並b)並 c = a 並(b並c)
分配律(a交b)並 c =(a交c)並(b交c)
(a並b)交 c =(a並c)交(b並c)
德·摩根定律
非(p 且 q)=(非 p)或(非 q)
非(p 或 q)=(非 p)且(非 q)
如果你遇到了"a交b並c"這樣沒有括號確定運算順序的表示式,那就沒有辦法計算,
因為你這樣算:" a 交(b 並 c)"
和你這樣算:"(a 交 b)並 c "
結果是不一樣的!
但如果是邏輯表示式,沒有括號也可以確定運算順序,
比如:"ab+c",
你只能這樣計算"(ab)+ c ",而不能這樣計算" a(b+c) "!
對應的集合運算應該是"(a 交 b)並 c ",而不能是" a 交(b 並 c)"!
另外,我看網上有的人說,應該從左往右計算,
也就是把"a交b並c交d並e"按照這樣"((((a交b)並c)交d)並e)"計算
我沒有找到有說集合運算有左結合性的資料,
所以我也不知道他們是聽誰說的,
不過我感覺應該是錯的。
list集合的交並補計算
list是我們常用的資料結構,存放資料,如何對資料進行交並補的計算。list的底層是動態陣列,作為比較基礎和常用的資料結構,在日常的工作中我們可能將不同的資料存放到了list中,根據業務要求,對兩個集合的資料進行交集 並集 差集,然後對它們進行後續的業務處理。怎麼辦?list的集合中已為我們提供好了...
基於SQL求集合的交 並 補
作者接下來將給出實驗用表以及具體的sql指令碼語句。為進行實驗,作者在sql server資料庫下共建立了t1 t2兩張表,兩張表除主鍵id外均有個兩欄位stu id和teacher id。t1表id stu id teacher id 1s0001 t012 s0002 t013 s0003 t0...
POJ 3225 區間操作 交並補
u 把區間 l,r 覆蓋成1 i 把 l r,覆蓋成0 d 把區間 l,r 覆蓋成0 c 把 l r,覆蓋成0 且 l,r 區間0 1互換 s l,r 區間0 1互換 cover記錄成段覆蓋,xo記錄互換 當乙個節點得到覆蓋標記時把異或標記清空 當乙個節點得到異或標記的時候,先判斷覆蓋標記,如果是0...