从c#基础开始,逐渐深入,是学习搜索引擎开发的*。
应众多公司的实际需求,《使用c#开发搜索引擎》介绍如何以c#作为工具开发搜索引擎。
全书以完成一个网站搜索\垂直搜索作为目标,从网络爬虫抓取数据开始,然后到中文分词、文本排重等文本挖掘技术和搜索结果展现。
本书是市面上介绍业界热门的lucene.net、使用webbrowser做爬虫以及结合solr开发asp.net搜索的第一书。
  《使用c#开发搜索引擎》适合专业软件开发人员,也适合于希望学习搜索引擎工作原理的读者学习使用。
本书对于在校学生学习复杂数据结构和应用动态规划等常用算法也有参考价值。
2025/3/20 1:47:48 95.02MB C# PDF Lucene.Net
1
用通俗易懂的语言深入浅出地介绍了强化学习的基本原理,覆盖了传统的强化学习基本方法和当前炙手可热的深度强化学习方法。
从最基本的马尔科夫决策过程入手,将强化学习问题纳入到严谨的数学框架中,接着阐述了解决此类问题最基本的方法——动态规划方法,并从中总结出解决强化学习问题的基本思路:交互迭代策略评估和策略改善
2025/2/18 3:07:17 52.11MB 强化学习
1
所有最长公共子序列(LCS)——动态规划——Java---所有!!!所有!!!所有!!!
2025/2/5 19:28:22 3KB 所有 公共子序列 Java LCS
1
%MATLAB数学建模工具箱%%本工具箱主要包含三部分内容%1.MATLAB常用数学建模工具的中文帮助%2.贡献MATLAB数学建模工具(打*号)%3.中国大学生数学建模竞赛历年试题MATLAB程序%数据拟合%interp1-一元函数插值%spline-样条插值%polyfit-多项式插值或拟合%curvefit-曲线拟合%caspe-各种边界条件的样条插值%casps-样条拟合%interp2-二元函数插值%griddata-不规则数据的二元函数插值%*interp-不单调节点插值%*lagrange-拉格朗日插值法%%方程求根%inv-逆矩阵%roots-多项式的根%fzero-一元函数零点%fsolve-非线性方程组%solve-符号方程解%*newton-牛顿迭代法解非线性方程%%微积分和微分方程%diff-差分%diff-符号导函数%trapz-梯形积分法%quad8-高精度数值积分%int-符号积分%dblquad-矩形域二重积分%ode45-常微分方程%dsolve-符号微分方程%*polyint-多项式积分法%*quadg-高斯积分法%*quad2dg-矩形域高斯二重积分%*dblquad2-非矩形域二重积分%*rk4-常微分方程RungeKutta法%%随机模拟和统计分析%max,min-最大,最小值%sum-求和%mean-均值%std-标准差%sort-排序(升序)%sortrows-按某一列排序(升序)%rand-[0,1]区间均匀分布随机数%randn-标准正态分布随机数%randperm-1...n随机排列%regress-线性回归%classify-统计聚类%*trim-坏数据祛除%*specrnd-给定分布律随机数生成%*randrow-整行随机排列%*randmix-随机置换%*chi2test-分布拟合度卡方检验%%数学规划%lp-线性规划%linprog-线性规划(在MATLAB5.3使用)%fmin-一元函数极值%fminu-多元函数极值拟牛顿法%fmins-多元函数极值单纯形搜索法%constr-非线性规划%fmincon-非线性规划(在MATLAB5.3使用)%%离散优化%*enum-枚举法%*monte-蒙特卡洛法%*lpint-线性整数规划%*L01p_e-0-1整数规划枚举法%*L01p_ie-0-1整数规划隐枚举法%*bnb18-非线性整数规划(在MATLAB5.3使用)%*bnbgui-非线性整数规划图形工具(在MATLAB5.3使用)%*mintreek-最小生成树kruskal算法%*minroute-最短路dijkstra算法%*krusk-最小生成树kruskal算法mex程序%*dijkstra-最短路dijkstra算法mex程序%*dynprog-动态规划%%%图形%plot-平面曲线(一元函数)%plot3-空间曲线%mesh-空间曲面(二元函数)%*meshf-非矩形网格图%*draw-用鼠标划光滑曲线%%中国大学生数学建模竞赛题解%jm96a-捕鱼策略%jm96b-节水洗衣机%jm96bfun-节水洗衣机优化函数%jm97a-零件参数设计%jm97afun-零件参数函数%jm97aoptim-零件参数设计优化函数%jm97b-截断切割%jm97bcount-截断切割枚举法%jm97brule-截断切割优化准则%jm98a1-风险投资模型求解%jm98a2-风险投资模型讨论%jm98a3-收益与风险非线性模型求解%jm98a3fun-收益与风险非线性模型优化函数%jm98b-灾情巡视路线(C程序)%jm99a1-自动化车床模型一%jm99a1fun-自动化车床模型目标函数%jm99a1simu-自动化车床模型随机模拟%jm99asmfun-自动化车床模型费用函数%%演示程序%fun
1
可以使用需要重新加载biojava.jarjar包代码是全的,不会可以问我。
jar包在lib目录下面输出结果:GlobalalignmentwithNeedleman-Wunsch:Time(ms): 3Length: 9Score: 0Query: query, Length: 9Target: target, Length: 8Query: 1gccctagcg9|||||Target: 1gcgc-aatg8LocalalignmentwithSmith-Waterman:Time(ms): 0Length: 3Score: 3Query: query, Length: 9Target: target, Length: 8Query: 7gcg9|||Target: 1gcg3
1
冗余机械臂运动学建模基于ROS的仿真平台搭建高维空间RRT规划及动态规划控制器设计及仿真实验
2025/1/6 2:52:47 5.1MB ROS 机械臂 仿真
1
某推销员要从城市v1出发,访问其它城市v2,v3,…,v6各一次且仅一次,最后返回v1。
D为各城市间的距离矩阵。
问:该推销员应如何选择路线,才能使总的行程最短?
2024/12/30 11:19:24 2KB C++ 动态规划 TSP 旅行商
1
算分分析、分治法、动态规划法、贪心法、回溯法、分枝限界法的实验报告。
1
对即将找工作的大学生,研究生都爱刷leetcode的题目,但是刚刚接受无法适从,或是一时半会儿想不到解法,没关系,leetcode题解PDF可一带你慢慢了解思路过程。
目录3.4Addbinary615.1.5BinaryTreeLevelOr-3.5LongestPalindromicSubstring.62dertraversalil3.6RegularExpressionMatching665.1.6BinaryTreeZigzag3.7WildcardMatching67LevelOrdertraversal.963.8LongestCommonPrefix5.1.7RecoverBinarySearch3.9ValidNumber70Tree983.10Integertoroman725.1.8SameTree3.11RomantoInteger5.1.9SymmetricTree1013.12CountandSay745.1.10BalancedBinaryTree..1023.13Anagrams755.1.11FlattenBinaryTreeto3.14SimplifyPath76LinkedList1033.15LengthofLastWord775.1.12PopulatingNextRightPointersineachnodeii105第4章栈和队列7952二叉树的构建1074.1栈795.2.1ConstructBinaryTree4ValidParentheses79fromPreorderandIn4.1.2LongestvalidParenorderTraversatheses805.2.2ConstructBinaryTree4.1.3LargestRectangleinfromInorderandposHistogram82torderTraversal1084.14Evaluatereversepol-53二叉查找树109ishnotation845.3.1UniqueBinarySearch4,2队列85Trees5.3.2UniqueBinarySearch第5章树86Treesli.1105.1二叉树的遍历865.3.3ValidateBinarySearch5.1.1BinaryTreePreorderTreeTraversal865.3.4ConvertSortedarrayto5.1.2BinaryTreeInorderBinarySearchTreel12Traversal885.3.5ConvertSortedListto5.1.3BinaryTreePostorderBinarysearchtree113Traversal9054二叉树的递归1155.1.4BinaryTreeLevelOr5.4.1MinimumDepthofBidertraversalnarylree115目录5.4.2MaximumDepthofBi8.32重新实现nextpermunaryTree116tation1425.4.3PathSum117833递归.1435.44PathSumil1188.4PermutationsII1445.4.5BinaryTreeMaximum8.4.1nextpermutation...144PathSuum119842重新实现nextpermu5.4.6PopulatingNextRighttation144Pointersineachnode12084.3递归1445.4.7SumRoottoLeafNum8.5Combinations146bers122851递归146852迭代147第6章排序1238.6LetterCombinationsofaphone6.1MergeSortedArray123umber1476.2MergeTwoSortedLists12486.1递归1486.3MergekSortedLists124862迭代96.4InsertionSortList125第9章广度优先搜索1506.5Sortlist1269.1WordLadder1506.6FirstMissingPositive1279.2WordLadderil..1526.7SortColors289.3Surroundedregions154第7章查找94小结15613194.1适用场景1567.1Searchforarange131942思考的步骤.1567.2SearchInsertPosition.13294.3代码模板1577.3Searcha2DMatrix133第10章深度优先搜索162第8章暴力枚举法13510.1PalindromePartitioning..1628.1Subsets13510.2UniquePaths1658.1.1递归1350.2.1深搜1658.1.2迭代.13710.22备忘录法.1658.2Subsetsil13810.23动规166821递归1381024数学公式167822迭代.14110.3UniquePathsIl1688.3Permutations14210.3.1备忘录法1688.3.1nextpermutation14210.3.2动规.169目录10.4N-Queens16913.4Maximalrectangle19910.5N-QueensII17213.5BestTimetoBuyandSellStock10.6Restoreipaddresses17320010.7CombinationSum17413.6InterleavingString20110.8CombinationSumIl17513.7ScrambleString20310.9GenerateParentheses.17713.8MinimumPathSum20810.10Sudokusolver17813.9EditDistance21010.11WordSearch.18013.10DecodeWays.21210.12小结18113.11DistinctSubsequences21310.12.1适用场景1813.12WordBreak21410.122思考的步骤1811313WordBreakil21610.12.3代码模板183第14章图21810.12.4深拽与回溯法的区别.18414.1CloneGraph10.12.5深搜与递归的区别..184第15章细节实现题221第11章分治法18515.1ReverseInteger2211.1Pow(x,n)18515.2PalindromeNumber222qrt(x18615.3InsertInterval223第12章贪心法18715.4MergeIntervals22412.1Jumpgame18715.5MinimumWindowSubstring..22512.2JumpgameIl18815.6MultiplyStrings22712.3BestTimetobuyandsellstock19015.7SubstringwithConcatenation12.4BestTimetobuyandsellstock191ofallwords23012.5LongestSubstringWithoutre15.8Pascal,sTrianglepeatingCharacters19215.9PascalsTriangleIl23212.6ContainerwithmostWater.19315.10Spiralmatrix23315.11SpiralmatrixII234第13章动态规划19515.12ZigZagConversion23613.1Triangle19515.13DivideTwoIntegers23713.2MaximumSubarray19615.14TextJustification23813.3PalindromePartitioningII19815.15MaxPointsonaline目录第1章编程技巧在判断两个浮点数a和b是否相等时,不要用a=-b,应该判断二者之差的绝对值fabs(a-b)是否小于某个阈值,例如1e-9。
判断一个整数是否是为奇数,用x%2!=0,不要用x%2==1,因为x可能是负数用char的值作为数组下标(例如,统计字符串中每个字符出现的次数),要考虑到char可能是负数。
有的人考虑到了,先强制转型为unsignedint再用作下标,这仍然是错的。
正确的做法是,先强制转型为unsignedchar,再用作下标。
这涉及C++整型提升的规则,就不详述了。
以下是关于STL使用技巧的,很多条款来自《EffectiⅤveStL》这本书。
vector和string优先于动态分配的数组首先,在性能上,由于vector能够保证连续内存,因此一旦分配了后,它的性能跟原始数组相当其次,如果用new,意味着你要确保后面进行了delete,一旦忘记了,就会岀现BUG,且这样需要都写一行delete,代码不够短再次,声明多维数组的话,只能一个一个new,例如:int**ary=newint*[row_num];for(inti=0:i<rownum;++1)ary[i]newint[col_num]用vector的话一行代码搞定,vector<vector<int>>ary(row_num,vector<int>(col_num,0))使用reserve来避免不必要的重新分配第2章线性表这类题目考察线性表的操作,例如,数组,单链表,双向链表等。
21数组2.1.1RemoveDuplicatesfromSortedarray描述Givenasortedarray,removetheduplicatesinplacesuchthateachelementappearonlyonceandreturnthenewlengthDonotallocateextraspaceforanotherarray,youmustdothisinplacewithconstantmemoryForexample,GiveninputarrayA=[1,1,2Yourfunctionshouldreturnlength=2,andaisnow[1,2]分析无代码1/LeetCode,RemoveDuplicatesfromSortedArray/时间复杂度0(n),空间复杂度0(1)classSolutiontublicintremoveDuplicates(intA[],intn)tlf(n==oreturnointindex=0:for(inti=1:i<n:i++iif(Alindex!alidA[++index]=Alireturnindex12.1数组代码2//LeetCode,RemoveDuplicatesfromSortedArray//使用STL,时间复杂度0(n),空间复杂度0(1)classSolutionipublicintremoveDuplicates(intA[,intn)treturndistance(A,unique(A,An))代码3/LeetCode,RemoveDuplicatesfromSortedArray/使用STL,时间复杂度0(n),空间复杂度0(1)lassSolutionfublicintremoveDuplicates(intA[],intn)treturnremoveDuplicates(A,A+n,A)-A;template<typenameInIt,typenameoutit>OutItremoveDuplicates(InItfirst,InItlast,OutItoutput)thile(firstlast)i*output++=*firstfirstupper_bound(first,last,*firstreturnoutput相关题目RemoveduplicatesfromSortedArrayIl,见§2.1.22.1.2RemoveDuplicatesfromSortedArrayII描述Followupfor"RemoveDuplicates"Whatifduplicatesareallowedatmosttwice?Forexample,Givensortedarraya=[1,1,1,2,2,3]Yourfunctionshouldreturnlength=5,andAisnow[1,1,2,2,3分析加一个变量记录一下元素出现的次数即可。
这题因为是已经排序的数组,所以一个变量即可解决。
如果是没有排序的数组,则需要引入一个hashmap来记录出现次数4第2章线性表代码1//LeetCode,RemoveDuplicatesfromSortedArrayII/时间复杂度0(n),空间复杂度0(1)//qauthorhex108(https://github.com/hex108)classSolutiontublicintremoveDuplicates(intA[],intn)tlf(n<=2returnnintindex=2for(inti=2:in:1++)if(all]!Alindex-2])ALindex++]=Ali]returnindex;代码2下面是一个更简洁的版本。
上面的代码略长,不过扩展性好一些,例如将occur<2改为ocur<3,就变成了允许重复最多3次。
//LeetCode,RemoveDuplicatesfromSortedArrayII//@author虞航仲(http://weibo.com/u/1666779725)//时间复杂度0(n),空间复杂度0(1)classSolutionipublicintremoveDuplicates(intA[],intn)tmtindex=ofor(intif(i>0&&i<1&&A[i]==A[i-1]&&A[i]==A[i+1])continueAlindex++]=Alireturnindex;相关题目RemoveDuplicatesfromSortedArray,见§2.1.12.1.3SearchinRotatedSortedArray描述Supposeasortedarrayisrotatedatsomepivotunknowntoyoubeforehand
2024/12/7 0:08:16 1.03MB leetcode题解
1
动态规划,POA。
动态规划是最优化技术中一种适用范围很广的基本的数学方法。
结合实例详细介绍了动态规划模型的建立,以及在水库调度中的具体应用
2024/11/22 19:44:15 248KB 动态规划 POA 水库 优化调度
1
共 113 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡