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

Class ExternalSort

sorts/external_sort.py:109–125  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

107
108
109class ExternalSort:
110 def __init__(self, block_size):
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
126
127
128def parse_memory(string):

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected