算法
文章平均质量分 74
奶爸
热爱音乐,热爱生活
展开
-
矩阵连乘问题
给定n个矩阵A1,A2.......An,其中Ai与Ai+1是可乘的。 由于矩阵的乘法满足结合律,故计算矩阵的连乘积可以有许多不同的计算次序。这中计算次序可以用加括号的方式来确定。例如,矩阵连乘积A1A2A3A4可以有一下5种不同的完全加括号方式: (A1(A2(A3A4))) (A1((A2A3)A4)) ((A1A2)(A3A4)) ((A1(原创 2012-07-11 11:52:16 · 17674 阅读 · 2 评论 -
二分搜索
二分搜索是一个分治算法。 个定已排好序的n个元素a[0:n-1],在这n个元素中找出某一特定的元素x。 二分搜索法的基本思路是把n个排好序的元素从中间分成大致相等的两部分,如果x==a[n/2],则找到x,如果x 可以用以个递归的方法来实现二分搜索函数binary_search()。返回找到元素的下标。#include int binary_search(i原创 2012-06-29 18:08:42 · 567 阅读 · 0 评论 -
快速排序
快速排序算法是基于分治策略的一种排序算法。基本思想是,对于输入的子数组a[left : right],按以下三个步骤进行排序: (1)分解。以a[left]为基准元素将a[left : right]分成三段,a[left : p-1],a[p], a[p+1 : right]。使得a[left : p-1]中的任何一个元素小于a[p],a[p+1 : right]中的任何一个元素大于a[原创 2012-07-03 09:05:21 · 900 阅读 · 0 评论 -
合并排序
合并排序算法是用分治策略实现对n个元素进行排序的算法。其基本思想是:将带排序元素分成大小大致相同的两个子集合,分别对这两个子集合进行排序,最终将排好序的子集合合并成所要求的排好序的集合。代码如下:#include #include void merge_sort(int[], int, int);void merge(int[], int, int, int);int main原创 2012-07-12 17:59:07 · 794 阅读 · 0 评论 -
求字符串的不重复字符的最长子串长度的问题
已知一个字符串,只含有小写字母,求出zifuc原创 2014-11-09 20:46:05 · 4104 阅读 · 1 评论