作者ysho ()
看板EE_DSnP
標題[問題] array
時間Sun May 17 11:25:48 2009
這次作業的說明文件有提到在搬動資料時可以使用
memcpy() memmove() 等函式,非常好用且強大,
但我想問的是,一般介紹 dynamic array 的資料都有提到
array 的主要缺點在 insert 或 resize 時需要搬動一堆資料,
使得複雜度為 O(n),而現在一但使用了 memcpy memmove,
似乎就變成 constant time O(1) 了,所以...
1. 不知道使用 memcpy memmove 安全嗎?有什麼缺點呢?
2. 這是否代表以這種方式
implement 出來的 dynamic array 幾乎沒有缺點了呢?
複雜度最高只到 find O(log(n))?
--
後來發現我好像搞錯 O(n) 的意思了
即使是 memcpy memmove,時間應該也要是 O(n) 成長
感謝老師和 ilway25 解惑!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.234
1F:推 ric2k1:man 一下 memcpy & memmove 的確是有些注意事項. 不過你們 05/17 11:28
2F:→ ric2k1:也可以用 for... copy 來比較看看, 到底差多少~~~ 05/17 11:28
3F:→ ilway25:memcpy 和 move 也應該算是 O(n) 吧!我覺得 05/17 14:03
※ 編輯: ysho 來自: 140.112.4.234 (05/17 14:32)