算法
文章平均质量分 89
计算机基础算法与数据结构、还有一些常用的通用的算法
微小的鱼
这个作者很懒,什么都没留下…
展开
-
动画原理:表面形变算法的思考与总结
之前我的文章有大致的讨论过形变算法,介绍的也比较粗略!现在主要是想在Triangulated Surface Mesh Deformation方向上更深入的讨论一下!结合今年我对这一块的学习谈谈我的理解~下面要介绍大致几种算法,不管是拉普拉斯形变算法或者它的形变还是ARAP的形变,本质上都是,通过在网格人为的定义一些控制点或控制边,然后根据控制点或控制边的移动来影响网格的形状。原创 2024-03-01 00:08:58 · 2022 阅读 · 2 评论 -
空间数据结构
前言:空间分割、引擎场景图、场景管理,CSG、光追加速等等都需要用到空间数据结构,它是一些通用的算法抽象,主要用于空间2D 、3D等等所以才称为空间数据结构,我这次是做了PPT、研究讨论最后演讲也分享部分出来~原创 2021-10-25 14:47:36 · 3352 阅读 · 0 评论 -
C++遗传算法
项目说明 问题描述:对于方程f(x1,x2)=100*(x1^2-x2)^2+(1-x1)^2,求出f的最大值并且求出对应的x1和x2(精确到0.001)。 遗传算法描述:随机生成多组等长二进制字符串作为初代祖先,经过多代的繁殖(包括自然选择、基因交叉、基因突变),评价出其适应度最好的基因作为全局最优解。 -自然选择:用的是轮盘法 -基因交叉:参考生物知识,不用我说了吧原创 2017-12-06 17:53:51 · 4339 阅读 · 0 评论 -
数学之美中的马尔科夫链
最近看了数学之美简单论述一下里面的马尔科夫链.原创 2017-11-20 17:24:26 · 395 阅读 · 0 评论 -
杭电ACM1008电梯问题
转载:杭电ACM2012年题目:Problem DescriptionThe highest building in our city has only one elevator. A request list is made up with N positive numbers. The numbers denote at which floors the elevator will st...转载 2018-10-24 19:27:48 · 535 阅读 · 0 评论 -
阿里2017年秋招编程题
题目:分四种情况;当left不存在或者不能射击时,得分为 score[i] * score[right];当右边不存在是score[i]*score[left];第三种左右都存在时! score不是有序的,反正核心是找三个相邻的靶原创 2017-11-25 21:45:15 · 324 阅读 · 0 评论 -
网格简化 二 、QEM算法
简化算法的误差测度(度量质量和误差)误差测度用于度量模型简化的质量和误差,因此它对模型的简化过程和最后的简化结果都具有重要的影响。大多数简化算法采用对象空间(Object-space)的一种或综合几种形式的几何误差(Geometric errors)作为误差测度,一些视点相关算法通常将对象空间的误差转换为屏幕空间(Screen-space)的误差值为误差测度,有些算法也考虑模型的颜色、法向量和纹理坐标等属性误差(Attribute errors)。几何误差几何误差测度一般采用欧式空间距离表示。通常有顶点原创 2020-10-16 01:52:46 · 10769 阅读 · 0 评论 -
C++实现N皇后
发一个大四(去年这个时候)时候写的N皇后代码实现,大二学过数据结构算法分析 8皇后经典问题,后来大三下学习人工智慧导论学习的N皇后,后来才实现:#include<iostream>#define NUM 4using namespace std;void Change(long long v, long long determine[][NUM], long long i,...原创 2019-03-18 17:46:13 · 1154 阅读 · 0 评论 -
排序算法之shell,归并,快排
1. 快速排序快速排序可能是应用的最为广泛的一种算法,它流行的原因是实现简单,适用于各种不同的输入数据且在一般的应用中比其他排序算法都要快的多。快速排序的优点: 是原地排序(只需要一个很小的辅助栈)。 所需时间跟NlgN成正比。 快速排序思路:快速排序和归并排序是互补的,归并排序将整个数组分成小数组,然后将排好序的小数组归并以将整个数组排序;而快速排序是在将大数组分成小数组的时候排序,当小数组原创 2017-12-19 03:59:37 · 542 阅读 · 0 评论 -
数据结构之hash查找
哈希查找,也称为散列查找(本文以哈希称呼)。提起哈希,我的第一印象就是C#中的Hashtable类,它是由一组key/value的键值对组成的集合,它就是应用了散列技术。那么,什么是哈希查找呢?在弄清楚什么是哈希查找之前,我们要弄清楚哈希技术,哈希技术是在记录的存储位置和记录的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。原创 2017-12-19 03:39:12 · 504 阅读 · 0 评论 -
hash table原理与应用
散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙。散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。转载 2017-12-19 03:27:39 · 358 阅读 · 0 评论 -
微软亚洲研究院2017年笔试编程题
微亚编程题能看得出好可怕呀感觉要求ACM金牌什么的才可能 不过很多都是ai部分的 从题目可以看得出来.原创 2017-11-25 22:28:31 · 3426 阅读 · 0 评论 -
01背包问题
大二下学期开的算法设计与分析课程老师说是研究生才要学的课,但是我们大二就要学! 虽然有难度,但还是要学滴。(现在我大四了回过来一看 好简单的说)代码虽然不长,但是还是。。很有。。技术含量的原创 2017-11-25 22:21:24 · 195 阅读 · 0 评论 -
分享2017年微软编笔试程题
时间是150分钟 语言不限 AC过就行 AC1到2道就行 最强的是有人8分钟就做出一道题了 23333 66666 这个是微软亚洲研究院的题目原创 2017-11-25 22:16:03 · 525 阅读 · 0 评论 -
分享一个用shell大佬写的--俄罗斯方块
其实不算太难主要是算法什么的那一套都是固定了(俄罗斯方块)基本照搬就行, 其他的主要看你的shell编程功底(这个是重点) 不懂得可以看怎么系统的学习shell编程 也可以看《Linux命令行与Shell脚本编程大全》原创 2017-11-25 22:05:29 · 308 阅读 · 0 评论 -
编程之美_子数组的最大乘积
题目:在一个数组中,以i为界限,分别计算i前面s[i-1]的积,后面t[i+1]的积p[i]=s[i-1]*t[i+1]即为这个数组中除去i的所有数的乘积。时间复杂度为,从头到尾和从尾到头遍历数组得到s[]和t[]的时间,加上p[]的时间3N,加上查找最大值的时间复杂度,最后总得时间复杂度为O(n)。注意在代码编写的过程中,因为若干个数的乘积较大,需要把数组定义为longlong型#includ原创 2017-11-25 21:52:34 · 214 阅读 · 0 评论 -
人工智能随机生成迷宫
本文对随机迷宫生成进行了初步的研究和分析,并给出了两种不同的生成算法。最终的算法结合了图的深度优先遍历。通过对比两种算法之间,可发现,在实际问题中,结合了离散数学的方法往往非更有效率且效果更佳。原创 2017-11-20 19:43:21 · 1472 阅读 · 0 评论 -
随机迷宫生成算法浅析
摘要 本文对随机迷宫生成进行了初步的研究和分析,并给出了两种不同的生成算法。最终的算法结合了图的深度优先遍历。通过对比两种算法之间,可发现,在实际问题中,结合了离散数学的方法往往非更有效率且效果更佳。 关键词:随机地图生成(random maze generating)、深度优先遍历(depth-first search)原创 2017-11-24 20:23:18 · 12199 阅读 · 0 评论 -
查找算法:顺序查找、二分查找、分块查找
近期总结了各大排序算法的原理 ,并对其进行了实现,想着一并把查找算法总结了,今天就着手开始总结查找算法。原创 2017-12-02 22:47:55 · 1499 阅读 · 0 评论