MCPcopy
hub / github.com/TheAlgorithms/Python / sort

Method sort

sorts/external_sort.py:113–122  ·  view source on GitHub ↗
(self, filename, sort_key=None)

Source from the content-addressed store, hash-verified

111 self.block_size = block_size
112
113 def sort(self, filename, sort_key=None):
114 num_blocks = self.get_number_blocks(filename, self.block_size)
115 splitter = FileSplitter(filename)
116 splitter.split(self.block_size, sort_key)
117
118 merger = FileMerger(NWayMerge())
119 buffer_size = self.block_size / (num_blocks + 1)
120 merger.merge(splitter.get_block_filenames(), filename + ".out", buffer_size)
121
122 splitter.cleanup()
123
124 def get_number_blocks(self, filename, block_size):
125 return (os.stat(filename).st_size / block_size) + 1

Callers 15

mainFunction · 0.95
mainFunction · 0.80
plot_predsFunction · 0.80
get_frequency_orderFunction · 0.80
fractional_knapsackFunction · 0.80
get_distancesFunction · 0.80
bwt_transformFunction · 0.80
reverse_bwtFunction · 0.80
build_treeFunction · 0.80
splitMethod · 0.80

Calls 8

get_number_blocksMethod · 0.95
splitMethod · 0.95
mergeMethod · 0.95
get_block_filenamesMethod · 0.95
cleanupMethod · 0.95
FileSplitterClass · 0.85
FileMergerClass · 0.85
NWayMergeClass · 0.85

Tested by 1