摘要:
Matrix67: The Aha Moments这是一篇旧文,点击此处以旧主题模式浏览。什么是算法:如何寻找稳定的婚姻搭配引言 什么是算法如何寻找稳定的婚姻搭配据说,一本书开篇就直言不讳地谈起两性的话题,这本书准能畅销。有幸的是,在众多可以用来引入“算法”的话题中,我最喜欢的那一个还真与两性有那么... 阅读全文
摘要:
#include "stdio.h"#include "stdlib.h"#define Num 10Heap(int arr[],int i,int n) //堆化操作,最大堆{ int ileft = 2*i+1; int iright = ileft+1; ... 阅读全文
摘要:
昨天忘发了,现在补上。#include "stdio.h"#include "stdlib.h"#define Num 10void MinHeapFixdown(int a[], int i, int n){ int j, temp; temp = a[i]; j = 2 * i + 1; ... 阅读全文
摘要:
今天才算静下心来看明白了堆排序的想法:1、数组“放进”堆中;2、堆化操作;3、利用堆的插入或者删除操作,依次找出堆中最大或者最小的数;4、将找到的数一个一个按顺序排起来,排序完成。想看详细的请移步:http://blog.csdn.net/morewindows/article/details/67... 阅读全文
摘要:
1: /* 2: 输入:数组A,堆的长度hLen,以及需要调整的节点i 3: 功能:调堆 4: */ 5: 6: void AdjustHeap(int A[], int hLen, int i) 7: { 8: int left = Left... 阅读全文
摘要:
这篇文章写的很好,明天自己编程实现算法。点击打开链接 阅读全文
摘要:
下面是 armijo线搜索+最速下降法的小程序,matlab用的很不熟,费了不少劲。函数:function g=fun_obj(x)syms a bf = 1/2*a^2+b^2-a*b-2*a;a=x(1);b=x(2);g=eval(f);求梯度:function g=fun_grad(x)sy... 阅读全文
摘要:
希尔排序的关键在于步长的选取。希尔排序的复杂度比较复杂,主要跟步长的选择有关,大概是 O(n logn^2),一般认为就是介于 O(n^2) 和 O(n logn) 之间。最好步长比较复杂,一般第一次取序列的一半,以后每次减半,直到步长为1。 对于希尔排序为什么明显优于直接插入排序:“希尔排序通过... 阅读全文
摘要:
希尔算法自己编了一个,循环很多,很不美观,不过运行正确:c语言实现:#include #include #define LEN 20 int main(){ int d,i,j,k; int arr[]={20,19,16,17,11,12,13,18,14,15,10,9,8,7,6,5,4,3,... 阅读全文
摘要:
希尔排序:伪代码:input: an array a of length n with array elements numbered 0 to n − 1inc ← round(n/2)while inc > 0 do: for i = inc .. n − 1 do: ... 阅读全文