算法
find_xiaohei
在这里和同名公众号分享计算机相关的内容。
展开
-
C++算法 冒泡排序,快速排序,插入排序,希尔排序,计数排序,基数排序 性能比较
排序是计算机算法中非常重要的一项,而排序算法又有不少实现方法,那么哪些排序算法比较有效率,哪些算法在特定场合比较有效,下面将用C++实现各种算法,并且比较他们的效率,让我们对各种排序有个更深入的了解。冒泡排序点击(此处)折叠或打开//n^2//冒泡排序V[n]不参与排序void BubbleSort (int V[], int n ) { bool exchange; //设置交换标志置 for转载 2015-11-05 10:48:31 · 538 阅读 · 0 评论 -
Algorithm Gossip: 得分排行
说明假设有一教师依学生座号输入考试分数,现希望在输入完毕后自动显示学生分数的排行,当然学生的分数可能相同。 解法这个问题基本上要解不难,只要使用额外的一个排行阵列走访分数阵列就可以了,直接使用下面的程式片段作说明: for(i = 0; i juni[i] = 1; for(j = 0; j if(score[j] > score[i]转载 2015-11-05 11:09:41 · 491 阅读 · 0 评论 -
计算几何 常用算法模版
目录 ㈠ 点的基本运算 1. 平面上两点之间距离 1 2. 判断两点是否重合 1 3. 矢量叉乘 1 4. 矢量点乘 2 5. 判断点是否在线段上 2 6. 求一点饶某点旋转后的坐标 2 7. 求矢量夹角 2 ㈡ 线段及直线的基本运算 1. 点与线段的关系 3 2. 求点到线段所在直线垂线的垂足 4转载 2015-11-05 11:12:40 · 451 阅读 · 0 评论 -
Algorithm Gossip: 约瑟夫问题(Josephus Problem)
说明据说着名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人 开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。 然而Josephus 和他的朋友并不想遵从,转载 2015-11-05 11:08:14 · 101 阅读 · 0 评论 -
Algorithm Gossip: 背包问题(Knapsack Problem)
说明假设有一个背包的负重最多可达8公斤,而希望在背包中装入负重范围内可得之总价物品,假设是水果好了,水果的编号、单价与重量如下所示: 解法背包问题是关于最佳化的问题,要解最佳化问题可以使用「动态规划」(Dynamic programming),从空集合开始,每增加一个元素就先求出该阶段的最佳解,直到所有的元素加入至集合中,最后得到的就是最佳解。 以背包问题转载 2015-11-05 11:07:03 · 388 阅读 · 0 评论