![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机基础
善良比聪明更重要
过往不恋,当下不杂,未来不迎
展开
-
19条人机交互定律
美即易用性效应美的东西看起来会比不美的好用,人们会根据产品的外观来判断它们好不好用多尔蒂的阈值人机交互的时间小于400ms的时候生产力会飙升,在400ms内及时反馈才能维持住用户的注意力并提高效率费茨定律到达目标的时间是目标的区域距离和大小的函数,距离越大,尺寸越小,所需要的时间就越长这个法则特别适用于设计按钮,让按钮更易于找到和选择希克定律选择的数量越多,越复杂,决策所需要的时间越长通过突出显示推荐选项,避免过载的信息让用户无法抉择雅各布定律用用户熟知习惯的使用模式设计产品,原创 2020-08-07 18:24:20 · 573 阅读 · 0 评论 -
快速排序
同冒泡排序一样,快速排序也属于交换排序,通过元素之间的比较和交换位置来达到排序的目的。不同的是,冒泡排序在每一轮只把一个元素冒泡到数列的一端,而快速排序在每一轮挑选一个基准元素,并让其他比它大的元素移动到数列一边,比它小的元素移动到数列的另一边,从而把数列拆解成了两个部分。这种思路就叫做分治法。假如给定8个元素的数列,一般情况下冒泡排序需要比较8轮,每轮把一个元素移动到数列一端,时间复杂度是O(n^2)。而快速排序的流程是什么样子呢?如图所示,在分治法的思想下,原数列在每一轮被拆分成两部分,每原创 2020-07-30 11:29:24 · 240 阅读 · 0 评论 -
翻转二叉树
2015年,Homebrew 的作者 Max Howell 在 Twitter 上发布了一条消息:brew作者在Google挂了,还发twitter说,Google面试官说:对不起,虽然我们全公司的人都在用你的brew但是你竟然不能写出反转二叉树的代码,所以,滚吧。你可以在leetcode上做这道题,有一种答案只需要8行代码。这个题目的难度属于Easy,根据leetcode的定义,如果Easy难度的题目无法在面试中答出来,确实是拿不到Offer的。https://leetcode-cn.com/pr原创 2020-07-30 09:58:33 · 7124 阅读 · 0 评论 -
四则运算在计算机中的实现原理
一、中缀表达式需要转换成后缀表达式,转换算法:1、遇到操作数:直接输出(添加到后缀表达式中)2、栈为空时,遇到运算符:直接入栈3、遇到左括号:将其入栈4、遇到右括号:执行出栈操作,并将出栈的元素输出,直到弹出栈的是左括号,左括号不输出。5、遇到其他运算符,加减乘除:弹出所有优先级大于或者等于该运算符的栈顶元素,然后将该运算符入栈6、最终将栈中的元素依次出栈,输出。原创 2016-07-04 18:16:15 · 4078 阅读 · 0 评论