
数据结构与算法分析
weixin_42048754
这个作者很懒,什么都没留下…
展开
-
剑指offer刷题-字符流中第一个不重复的字符(LinkedHashMap)
题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。用例:“google”对应输出应该为:“ggg#ll”分析:在前三个字符时,第一个不重复的字符始终是...原创 2020-05-07 19:57:00 · 280 阅读 · 1 评论 -
剑指offer刷题-用两个栈实现队列及栈、队列的知识补充
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路创建两个栈stack1和stack2,使用两个先进后出的栈实现一个先进先出的队列1、先考虑Push操作:向队列插入元素,因为队列和栈一样都是在表头添加,所以可以直接添加到stack1的表头。2、再考虑Pop操作:因为对于队列的删除操作,先进先出,是删除表尾,即先添加进来的元素。如果直接在s...原创 2020-05-04 11:29:11 · 244 阅读 · 0 评论 -
数据结构与算法分析——排序算法总结
排序算法总结常见的十大排序算法:八大排序算法分类一、直接插入排序Insertion Sort插入排序的设计初衷是往有序的数组中快速插入一个新的元素。它的算法思想是:把要排序的数组分为了两个部分, 一部分是数组的全部元素(除去待插入的元素), 另一部分是待插入的元素; 先将第一部分排序完成, 然后再插入这个元素. 其中第一部分的排序也是通过再次拆分为两部分来进行的.插入排序由于操作不尽相...原创 2020-05-02 20:46:50 · 427 阅读 · 0 评论 -
数据结构初体验-迭代与递归、动态规划
数组求和-迭代int Sum(int A[],int n){ int sum=0; //O(1) for(int i = 0;i < n; i++){ //O(n) sum += A[i]; //O(1) } return sum; //O(1)}时间复杂度:O(n)空间复杂度:计算除输入外,循环中需要的空间,在此包括累加器sum和内部循环的控制变量i,所...原创 2020-04-09 20:39:01 · 224 阅读 · 0 评论