MCPcopy Index your code
hub / github.com/subbarayudu-j/TheAlgorithms-Python / ExternalSort

Class ExternalSort

sorts/external-sort.py:110–126  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

108
109
110class ExternalSort(object):
111 def __init__(self, block_size):
112 self.block_size = block_size
113
114 def sort(self, filename, sort_key=None):
115 num_blocks = self.get_number_blocks(filename, self.block_size)
116 splitter = FileSplitter(filename)
117 splitter.split(self.block_size, sort_key)
118
119 merger = FileMerger(NWayMerge())
120 buffer_size = self.block_size / (num_blocks + 1)
121 merger.merge(splitter.get_block_filenames(), filename + '.out', buffer_size)
122
123 splitter.cleanup()
124
125 def get_number_blocks(self, filename, block_size):
126 return (os.stat(filename).st_size / block_size) + 1
127
128
129def parse_memory(string):

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected