算法
文章平均质量分 85
corfox_liu
博客园:www.cnblogs.com/corfox
展开
-
堆排序
二叉堆是一个数组,它可以被看成一个近似的完全二叉树。树上的每个节点对应对应数组中的一个元素。堆结构上的一些基本操作的运行时间至多与树的高度成正比,即时间复杂度O(lgn)。维护堆的性质、建堆、堆排序的代码如下:/*堆排序 * 二叉堆是一个数组,它可以被看成一个近似的完全二叉树 * *//*定义数组类型*/typedef int arr_type;/*定义堆结构体*/type原创 2015-06-03 23:04:33 · 400 阅读 · 0 评论 -
LeetCode题解(四)
LeetCode题解(四)原创 2016-08-19 21:57:57 · 526 阅读 · 0 评论 -
LeetCode题解(三)
LeetCode题解(三)MergeSortedArr, SameTree, SymmetricTree, BinaryTreeLevelOrderTraversal, MaxDepthBinaryTree, BinaryTree LevelOrderTraversal II, BalancedBinaryTree, MinDepthBinaryTree, PathSum, Pascal'sTriangle原创 2016-05-25 18:03:28 · 1037 阅读 · 0 评论 -
LeetCode题解(一)
Leetcode解题(一)Counting Bits, Reverse String, Power of Four, Swap Node in Pairs, Implement strStr(), Word Pattern, ZigZag Conversion, Reverse Integer, String to Integer, Palindrome Number原创 2016-05-22 13:13:14 · 714 阅读 · 0 评论 -
LeetCode题解(二)
LeetCode题解(二) Roman to Integer, Valid Parentheses, Merge Two Sorted Lists, Valid Sudoku, Count and Say, Length of Last Word, Plus One, Add Binary, Climbng Stairs, Remove Duplicates from Sorted List原创 2016-05-23 23:43:28 · 494 阅读 · 0 评论 -
Bresenham算法
Bresenham算法是计算机图形学典型的直线光栅化算法。本文转自上交大计算机图形学网转载 2015-12-09 09:33:14 · 1148 阅读 · 0 评论 -
散列表
散列表 散列表的实现叫做散列。散列是一种以常数时间执行插入、删除和查找的技术。理想的散列数据结构只不过是一个包含有关键字的具有固定大小的数组。每个关键字带有一个或多个相关的值,并且每个关键字通过一个映射函数映射到散列表的适当的单元中。散列函数可以选择Horner函数:∑KeySize−1i=0Key⋆(KeySize−i−1)⋆32i\sum_{i=0}^{KeySize-1} Key \star原创 2015-10-04 10:04:40 · 426 阅读 · 0 评论 -
求解最大子数组
使用分治策略求解最大子数组,所谓分治策略就是将原问题分解为几个规模较小但类似于原问题的子问题,递归地求解这些子问题,然后再合并这些子问题的解来建立原问题的解。分治策略在每层递归时都有三个步骤: 1、分解原问题为若干子问题,这些子问题是原问题的规模较小的实例。 2、解决子问题,递归的求解各子问题。当递归进入基准情况,则直接求解。 3、合并这些子问原创 2015-05-11 08:33:46 · 468 阅读 · 0 评论 -
选择排序
本人非科班出生,也未有人指导,纯属自学,难免有错误,恳请指导!______________________________________________________________选择排序思想,每次从还未排序的子序列中选择最小(最大)的元素,排在已排序子序列中原创 2015-05-10 21:58:29 · 395 阅读 · 0 评论 -
工程优化学习(进退法、黄金分割法、二次插值法、三次插值法、最速下降法)
工程优化课程学了进退法、黄金分割法、二次插值法、三次插值法、最速下降法。我自己只测试用最速下降法求(恩,水货我只调试了这一个,调了好多次才调通,然后其他的也没心情调试了):minf(x) = x1^2 + 25*x2^2,得到结果如下图所示,与该函数的极小值点(0,0)在精度误差之内。#ifndef ENGINEERINGOPTIMIZATION_H_INCLUDED#defin原创 2015-05-14 22:02:58 · 6777 阅读 · 0 评论 -
strassen算法
strassen算法: 第一步:分解输入矩阵A、B和输出矩阵C为n/2xn/2的子矩阵。A--->A11、A12、A21、A22, B---->B11、B12、B21、B22, C---->C11,C12,C21,C22 第二步:创建十个矩阵 S1=B12 - B22原创 2015-05-13 23:37:08 · 766 阅读 · 1 评论 -
插入排序
算法导论课后练习题,本人非科班出生,也未有人指导,纯属自学,难免有错误,恳请指导!_____________________________________________INSERTION-SORT(A)for j = 2 to A.length key = A[j] i = j-1 while i > 0 and A[i] > key原创 2015-05-10 22:03:52 · 325 阅读 · 0 评论 -
归并排序
别人非科班出生,亦未有人指导,纯属自学,难免有错误,恳请指导!_________________________________________________________________归并排序:分解:分解待排序的n个元素的序列成各具n/2个元素的两个子序列解决:使用归并排序递归地排序两个子序列合并:合并两个已排序的子序列以产生排序的答案MERGE_SORT(原创 2015-05-10 21:59:33 · 544 阅读 · 0 评论 -
铅笔画算法
铅笔画(PencilDrawing)算法C++实现。原创 2016-08-28 16:04:50 · 4605 阅读 · 0 评论