算法
水军总督
与你同在。
展开
-
Qt贝塞尔曲线
相信很多同学都知道“贝塞尔曲线”这个词,我们在很多地方都能经常看到。但是,可能并不是每位同学都清楚地知道,到底什么是“贝塞尔曲线”,又是什么特点让它有这么高的知名度。贝塞尔曲线的数学基础是早在 1912 年就广为人知的伯恩斯坦多项式。但直到 1959 年,当时就职于雪铁龙的法国数学家Paul de Casteljau才开始对它进行图形化应用的尝试,并提出了一种数值稳定的de Casteljau 算法。然而贝塞尔曲线的得名,却是由于 1962 年另一位就职于雷诺的法国工程师Pierre Bézie...原创 2020-09-25 18:49:19 · 1937 阅读 · 0 评论 -
判断链表中是否有环 ----- 有关单链表中环的问题
给定一个单链表,判断其中是否有环,已经是一个比较老同时也是比较经典的问题,在网上搜集了一些资料,然后总结一下大概可以涉及到的问题,以及相应的解法。 首先,关于单链表中的环,一般涉及到一下问题:1.给一个单链表,判断其中是否有环的存在;2.如果存在环,找出环的入口点;3.如果存在环,求出环上节点的个数;4.如果存在环,求出链表的长度;5.如果存在环,求出环上距离任意一...转载 2018-11-08 14:07:14 · 180 阅读 · 2 评论 -
二分查找
#include using namespace std;int binary(int *arr,int start,int end,int key){if(start>end){return -1;}else{int mid;mid = (start + end)/2;if(key {end = mid-1;return bin转载 2014-10-03 02:16:24 · 523 阅读 · 0 评论 -
二维数组旋转
#include #include #include #define ROW 5#define COL 5int arr[ROW][COL];void rotateArr(){ int temp[ROW][COL], i, j, k; for (i=0,j=COL-1; j>=0; i++,j--) for (k=0; k转载 2014-10-02 00:37:13 · 730 阅读 · 0 评论 -
二路归并排序c++实现
/* 归并排序的基本操作是 将两个或两个以上的记录有序序列归并为一个有序序列。 最简单的情况是,只含一个记录的序列显然是个有序序列, 经过"逐趟归并"使整个序列中的有序子序列的长度逐趟增大, 直至整个记录序列为有序序列止。 2-路归并排序则是归并排序中的一种最简单的情况, 它的基本操作是将两个相邻的有序子序列"归并"为一个有序序列, 如右侧所示。这个操作对顺序表转载 2014-09-13 16:20:22 · 760 阅读 · 0 评论 -
快速排序 归并排序 堆排序 希尔排序
1 快速排序(QuickSort)快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。(1) 如果不多于1个数据,直接返回。(2) 一般选择序列最左边的值作为支点数据。(3) 将序列分成2部分,一部分都大于支点数据,另外一部分都小于支点数据。(4) 对两边利用递归排序数列。快速排序比大转载 2014-09-10 18:52:14 · 591 阅读 · 0 评论 -
快速排序
还记得曾哥淡定的哼唱"七月份的前奏是狮子座~,八月份的尾巴也是狮子座~',狮子座的尾巴也是校园招聘的开始,祝愿毕业生们都能够找到满意的工作。如果你拿到太多的offer难以选择的时候,那就给每一份offer定上各项指标,算出权值,最后再用效率超高的快速排序来进行排序。一. 算法描述 快速排序:快速排序采用分治法进行排序,首先是分割,选取数组中的任意一个元素val转载 2014-08-24 02:26:59 · 562 阅读 · 0 评论 -
复杂度
1定义编辑在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。这是一个关于代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。2算法复杂度算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。(算法的复杂性体现在运转载 2014-08-21 02:40:50 · 659 阅读 · 0 评论 -
冒泡排序
渐渐的到了校园招聘的时候,楼主的算法功底实在是不敢恭维;上不及数据挖掘、模式识别、机器学习等高级算法,也只有加强好自己的基本功了,对数据结构和算法书上的基本的算法做分析和实现;就先从排序算法开始吧,本文主要分析楼主学到的第一个冒泡排序算法。一. 算法描述 冒泡排序:依次比较相邻的数据,将小数据放在前,大数据放在后;即第一趟先比较第1个和第2个数,大数在后,小数在前,再比较第2转载 2014-08-20 15:59:14 · 513 阅读 · 0 评论 -
插入排序
在冒泡排序,选择排序编写代码之后,楼主渐渐找到了coding的信心,熟能生巧,就像写词唱曲之前,都得先背诵大量的诗词,熟悉各路歌曲,才能走出自己的路线,有自己的杰作。好吧,来让楼主继续进行"社会主义初级阶段"的任务,这次是插入排序。一. 算法描述 插入排序:插入即表示将一个新的数据插入到一个有序数组中,并继续保持有序。例如有一个长度为N的无序数组,进行N-1次的插入即能完成排转载 2014-08-20 14:17:55 · 515 阅读 · 0 评论 -
选择排序
昨日写完maopaip,和大多数人的感觉一样,太简单,丝毫没有挑战性。但楼主是一个追求踏实平稳的人,希望地基牢固,也为方便后面学习和研究更加高深的算法。但在研究效率上还有待提高,楼主一定好好努力。今天将会写完选择排序 和 插入排序,本文主在选择排序。一. 算法描述 选择排序:比如在一个长度为N的无序数组中,在第一趟遍历N个数据,找出其中最小的数值与第一个元素交换,第二趟遍历剩转载 2014-08-20 23:32:31 · 540 阅读 · 0 评论