- 博客(7)
- 问答 (1)
- 收藏
- 关注
原创 算法2--由两个栈组成的队列
由两个栈组成的队列【题目】编写一个类,用两个栈实现队列,支持队列的基本操作(add、poll、peek)。【思路】维护两个栈,里面分别存压入栈的数据–需要考虑情况1.如果 stackPush 要往 stackPop 中压入数据,那么必须一次性把 stackPush 中的数据全部压入。2.如果 stackPop 不为空,stackPush 绝对不能向 stackPop 中压入数据。【代码】/** * @auther Jack * @create 2020-10-29-19:46 * *
2020-10-30 13:57:15 83
原创 算法1---实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。
实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。【要求】1.pop、push、getMin 操作的时间复杂度都是 O(1)。2.设计的栈类型可以使用现成的栈结构。【思考】设计两个栈对象,stackData存数据,stackMin里面存放最小的数据,把最大的压在最低端。【解法一】入栈:第一种方式–当我们往里面压栈的时候,先往stackDate里面压入数据,然后再再stackMin里面看是否有值,没有值的话,直接压入。小于等于的话,也压入stackMin这个栈。弹栈:
2020-10-30 13:42:50 247
原创 算法5---栈内自排序的最简方式
用栈实现另一个栈得排序【题目】一个栈中元素的类型为整型,现在想将该栈从顶到底按从大到小的顺序排序,只许申请一 个栈。除此之外,可以申请新的变量,但不能申请额外的数据结构。如何完成排序?【思考】oldStack存放原有信息,newStack辅助。【步骤】我们用oldStack里面的数据(tmp),往newStack里面放,每次往里面放之前,进行比较,如果比newStack里面的值大,则把newStack里面的值pop出之后push到oldStack里面,直至newStack里面的数据小于tmp那么进行p
2020-10-30 10:58:59 177
原创 数据结构------插入排序&&希尔排序
public void test1() { Scanner cin = new Scanner(System.in); int n = cin.nextInt(); int data[] = new int[n + 1]; for (int i = 0; i < n; i++) { data[i] = cin.nextInt(); } /** * 总体思路
2020-03-04 20:54:06 109
原创 数据结构------归并排序大彻大悟啊!!
不得不说,学习真的是一个重复的过程,一个很难得东西,看的多了,也就不难么难了,怕就怕你接触的太晚,没有顿悟的时间。归并排序:这个排序的核心思想就是,把一段数字,分割成几小段有序的数列,然后对这几段数据在进行两两合并,这是一个递归的过程。为什么这么做: 可能这个时候你心里会想,干嘛这么麻烦,直接分两段,直接两两比较排序,就完了嘛......也许你也想到这了,但是你再接着往下一想,你
2015-10-08 16:23:33 474
原创 数据结构------快排及另类快排思想解决问题
快速排序原理:选出一个基数,把小于这个基数的,放在它的前面,大于这个基数的放在基数后面。首先:我觉得大家肯定都很疑惑,算法这个东西,思想掌握了,但是代码的实现,又有很多种,就比如拿今天我们的主人公,快速排序来说吧,这个算法有两种形式,一种是不加哨兵的算法,一种是加上哨兵的算法,我曾经一度以为这两个形式是两种算法,让我走了好多弯路。我想我这样说肯定是的不到大家的理解的,那么我们接下来就进入今天的
2015-09-27 16:28:53 549
原创 取经之路------浅谈C/S与B/S架构模型
C/S架构:即客户机和服务器结构。是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统。客户端需要安装专用的客户端软件。B/S架构:即浏览器和服务器结构,Browser/Server的缩写,客户机上只要安装一个浏览器(Browser)。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。
2015-09-27 13:49:03 2472
空空如也
基于GoogleFit的移动用户健康数据采集软件
2016-04-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人