随笔分类 - 算法
摘要:汉诺塔问题是一个经典的递归问题,大意是:有A, B, C三根柱子,A柱上有n个盘子,小的在上,大的在下,现在要在B柱的帮助下将A柱上的所有盘子移动到C柱上,而且要求每次只能移动一个,并且任何时候小的盘子只能在大的盘子上面。 利用递归逐步分解问题的思想可以轻松解决这道题。首先考虑只有一个圆盘(n=0)
阅读全文
摘要:#include <stdio.h> void qsort(void * base, int num, int width, int (*comp)(const void *, const void *)); void sort(char * lo, char * hi, int (*comp)(c
阅读全文
摘要:迭代:public class Solution { public ListNode reverseList(ListNode head) { ListNode pre = null; while (head != null) { ...
阅读全文
摘要:前言简单归纳一下最近学习的排序算法,如果有什么错误的地方还请大家指教。本文介绍了七种经典排序算法,包括冒泡排序,选择排序,插入排序,希尔排序,归并排序,快速排序以及堆排序,并且讨论了各种算法的进一步改进,在文章最后还对所有算法的时间和空间复杂度作了一个总结。用Java...
阅读全文