in-place

    0熱度

    1回答

    我試圖優化存儲數據在節點中的存檔格式。隨着時間的推移,容器變得混亂(小的不可用的「空閒」空間節點積聚等)。我正在做的是類似於碎片整理。我已經有了所有數據位置的列表,並且表示了我希望數據處於最終狀態的位置,但是我正在努力完成將實際數據從當前配置移動到最佳配置的任務。元素的大小和大小並不相同(除非您計算字節數)。有一些我可以忽略的明顯方法嗎?我甚至不知道這個問題被稱爲搜索算法,最近我得到了就地排序。

    4熱度

    4回答

    在Cygwin中,下面的代碼工作正常 $ cat junk bat bat bat $ cat junk | sort -k1,1 |tr 'b' 'z' > junk $ cat junk zat zat zat 但在Linux的shell(GNU/Linux的),似乎覆蓋不起作用 [41] othershell: cat junk cat cat cat [42

    0熱度

    1回答

    我正在編寫一個Queue類,它包含大部分操作的列表。但我不從list sublcass,因爲我不想提供所有list API's。我的代碼粘貼在下面。 add方法似乎工作正常,但iadd似乎出錯了,它沒有打印。 下面是代碼: import copy from iterator import Iterator class Abstractstruc(object): def __init

    0熱度

    2回答

    我被要求寫一個'in place'Quicksort版本。創建了兩個內部函數 - 一個遞歸函數和一個「就地排序」,它選擇隨機數據透視表(需要這樣的問題),對列表進行排序並在排序後返回數據透視表的索引。 import random def quicksort(lst): def innerfunc(lst, start=0, end=(len(lst) - 1)): t

    13熱度

    3回答

    假設n個記錄的鍵範圍從1到k。 編寫一個算法來排序O(n + k)時間內的記錄。 您可以在輸入數組外使用O(k)存儲。 您的算法是否穩定? 如果我們使用計數排序,我們可以在O(n + k)時間內完成並且穩定,但是它不適用。 如果k = 2,它可以在適當的位置完成,但它不穩定(使用兩個變量來維持k = 0和k = 1的陣列中的索引) 但是對於k> 2我想不出任何好的算法

    0熱度

    2回答

    如何使用bash處理文件或多個文件? 所以:從文件x讀取,做一些處理(例如搜索替換)並寫入文件x。 我知道,與sed你可以這樣做:sed -i "" "s/original/replacement/g",但有時SED不剪,我需要不同的工具,缺乏一個-i ""樣的選擇。 最近我發現都是由我自己,我可以做到以下幾點: (BUFFER="`cat FILENAME`"; echo "$BUFFER" >

    1熱度

    3回答

    在這條線上,是否有像C++中的bools的就地AND和OR運算符? bool someOk=false; for(int i=0; i<10; i++){ someOk||=funcReturningBoolOnSuccess(i); } (我知道我可以寫someOk=someOk||funcReturningBoolOnSuccess(i),但它不是很漂亮)。

    2熱度

    1回答

    我有一個i通道圖像,image。我也有f過濾器,filters,可以應用於一個渠道。我要生成o通道圖像,output,通過選擇性地應用過濾器,以圖像的頻道。我現在有這兩個名單,image_idx和filter_idx定義,這樣處理,作爲 for j in xrange(o) : output[j] = filter[filter_idx[j]](image[image_idx[j]])

    1熱度

    1回答

    當我編寫一些通用編程實用程序代碼時,我發現同時具有inplace mutator和新對象創建者成員函數是一種功能。 例如,表示文件系統中路徑的某個類可能具有「標準化」功能。路徑對象可能會將自身變爲規範化路徑對象,或者返回新的規範化路徑對象。 class path { ... void normalize_itself() path get_new_normalize

    3熱度

    2回答

    通過常規方式(例如ll["name"] <- NULL)從列表中刪除元素,會導致整個列表被複制。通常情況下,這是不明顯的,直到當然數據集變大。 我有一個列表,每個元素的大小在0.25〜2 GB之間。從這個列表中刪除三個元素需要大約十分鐘的時間來執行(在相對較快的機器上)。 有沒有辦法從就地刪除列表中的元素? 我曾嘗試以下: TEST <- list(A=1:20, B=1:5) TEST[["