188:
term than the constant term of binary search. In prune and search algorithms S(n) is typically at least linear (since the whole input must be processed). With this assumption, the recurrence has the solution
168:
305:
298:
33:
The basic idea of the method is a recursive procedure in which at each step the input size is reduced ("pruned") by a constant factor
291:
254:
Nimrod
Megiddo (1983) Linear-time algorithms for linear programming in R and related problems. SIAM J. Comput., 12:759–776
213:
42:
552:
483:
453:
438:
96:
557:
508:
382:
372:
352:
23:
387:
232:
526:
488:
332:
392:
362:
503:
478:
423:
8:
513:
498:
443:
87:
531:
433:
428:
342:
228:
493:
337:
473:
458:
271:
270:
Nimrod
Megiddo (1984)Linear Programming in Linear Time When the Dimension Is Fixed
255:
217:
448:
283:
199:
61:
314:
27:
546:
463:
418:
174:
413:
377:
347:
216:
or by observing that the times for the recursive subproblems decrease in a
367:
259:
224:
275:
357:
318:
468:
45:, where at each step the decrease is by a constant factor. Let
397:
223:
In particular, Megiddo himself used this approach in his
99:
313:
162:
214:master theorem for divide-and-conquer recurrences
75:be the time complexity of the pruning step. Then
544:
231:problem when the dimension is fixed and for the
299:
64:of the whole prune-and-search algorithm, and
306:
292:
212:. This can be seen either by applying the
545:
235:problem for a set of points in space.
287:
250:
248:
163:{\displaystyle T(n)=S(n)+T(n(1-p)).}
13:
245:
173:This resembles the recurrence for
14:
569:
264:
154:
151:
139:
133:
124:
118:
109:
103:
43:decrease and conquer algorithm
1:
238:
7:
41:. As such, it is a form of
10:
574:
522:
406:
325:
233:minimal enclosing sphere
527:List of data structures
22:is a method of solving
164:
26:problems suggested by
165:
553:Geometric algorithms
424:Breadth-first search
260:10.1109/SFCS.1982.24
97:
86:obeys the following
514:Topological sorting
444:Dynamic programming
276:10.1145/2422.322418
88:recurrence relation
49:be the input size,
16:Optimization method
558:Linear programming
532:List of algorithms
439:Divide and conquer
434:Depth-first search
429:Brute-force search
343:Binary search tree
229:linear programming
227:algorithm for the
160:
540:
539:
338:Associative array
177:but has a larger
565:
509:String-searching
308:
301:
294:
285:
284:
278:
268:
262:
252:
218:geometric series
211:
187:
169:
167:
166:
161:
85:
74:
59:
48:
40:
20:Prune and search
573:
572:
568:
567:
566:
564:
563:
562:
543:
542:
541:
536:
518:
449:Graph traversal
402:
326:Data structures
321:
315:Data structures
312:
282:
281:
269:
265:
253:
246:
241:
190:
178:
98:
95:
94:
76:
65:
62:time complexity
50:
46:
34:
17:
12:
11:
5:
571:
561:
560:
555:
538:
537:
535:
534:
529:
523:
520:
519:
517:
516:
511:
506:
501:
496:
491:
486:
481:
476:
471:
466:
461:
456:
451:
446:
441:
436:
431:
426:
421:
416:
410:
408:
404:
403:
401:
400:
395:
390:
385:
380:
375:
370:
365:
360:
355:
350:
345:
340:
335:
329:
327:
323:
322:
311:
310:
303:
296:
288:
280:
279:
263:
243:
242:
240:
237:
198:) =
171:
170:
159:
156:
153:
150:
147:
144:
141:
138:
135:
132:
129:
126:
123:
120:
117:
114:
111:
108:
105:
102:
28:Nimrod Megiddo
15:
9:
6:
4:
3:
2:
570:
559:
556:
554:
551:
550:
548:
533:
530:
528:
525:
524:
521:
515:
512:
510:
507:
505:
502:
500:
497:
495:
492:
490:
487:
485:
482:
480:
477:
475:
472:
470:
467:
465:
464:Hash function
462:
460:
457:
455:
452:
450:
447:
445:
442:
440:
437:
435:
432:
430:
427:
425:
422:
420:
419:Binary search
417:
415:
412:
411:
409:
405:
399:
396:
394:
391:
389:
386:
384:
381:
379:
376:
374:
371:
369:
366:
364:
361:
359:
356:
354:
351:
349:
346:
344:
341:
339:
336:
334:
331:
330:
328:
324:
320:
316:
309:
304:
302:
297:
295:
290:
289:
286:
277:
273:
267:
261:
257:
251:
249:
244:
236:
234:
230:
226:
221:
219:
215:
209:
205:
201:
197:
193:
185:
181:
176:
175:binary search
157:
148:
145:
142:
136:
130:
127:
121:
115:
112:
106:
100:
93:
92:
91:
89:
83:
79:
72:
68:
63:
57:
53:
44:
38:
31:
29:
25:
21:
489:Root-finding
414:Backtracking
378:Segment tree
348:Fenwick tree
266:
222:
207:
203:
195:
191:
183:
179:
172:
81:
77:
70:
66:
55:
51:
36:
32:
24:optimization
19:
18:
368:Linked list
225:linear time
547:Categories
504:Sweep line
479:Randomized
407:Algorithms
358:Hash table
319:algorithms
239:References
499:Streaming
484:Recursion
146:−
30:in 1983.
494:Sorting
469:Minimax
60:be the
35:0 <
474:Online
459:Greedy
388:String
39:< 1
383:Stack
373:Queue
353:Graph
333:Array
454:Fold
398:Trie
393:Tree
363:Heap
317:and
272:doi
256:doi
549::
247:^
220:.
210:))
90::
307:e
300:t
293:v
274::
258::
208:n
206:(
204:S
202:(
200:O
196:n
194:(
192:T
186:)
184:n
182:(
180:S
158:.
155:)
152:)
149:p
143:1
140:(
137:n
134:(
131:T
128:+
125:)
122:n
119:(
116:S
113:=
110:)
107:n
104:(
101:T
84:)
82:n
80:(
78:T
73:)
71:n
69:(
67:S
58:)
56:n
54:(
52:T
47:n
37:p
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.