
算法与数据结构
点点滴滴积累,成就卓越
程序员阿广
一名程序猿,热爱技术,热爱分享
做一名匠人,匠人的世界没有“小事”,要时刻存一颗工匠般的心,去做事,去生活
展开
-
十大经典排序算法
算法概述算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。算法复杂度排序方法时间复杂度(平均)时间复杂度(最好)时间复杂度(最坏)空间复杂度稳定性插入排序O(n2)O(n^2) O(n2)O(n)O(n) O(n)O(n转载 2020-08-18 21:27:57 · 224 阅读 · 0 评论 -
经典笔试上机考题-表达式求值
相信参加过笔试面试同学应当见到过表达式求值这道题,下面列举的一道经典的考题,本文将同大家一起细细探讨一下表达式求值这一类问题的求法,希望抛砖引玉,其中有不妥的地方也请大家多多批评指正。/* 功能:四则运算 * 输入:strExpression:字符串格式的算术表达式,如: "3+2*{1+2*[-4/(8-6)+7]}" * 返回:算术表达式的计算结果 */public static int calculate(String strExpression){ /*原创 2020-08-12 11:59:14 · 485 阅读 · 0 评论 -
计算一年中第几周
一年中多少周初始这个问题,计算方法很简单,罗列如下:w = days/7 + 1就这么简单,剩下的就是怎么求天数了C++在C++标准里面struct tm 规定tm_yday就是一年中多少天数int NumOfWeek(){ time_t t = time(0); tm* lt = localtime(&t); return (lt->tm_yday +1) / 7 + 1;}Java使用Calendar类直接可以得到这个值Calend原创 2020-08-03 16:15:59 · 1979 阅读 · 1 评论 -
对单链表反转链表
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2020-07-28 21:35:12 · 181 阅读 · 0 评论