哈希表 Map Golang实现,使用红黑树和AVL树-性能爆表-非递归版本 实现了一个非递归的 golang map。 具体代码可参考: https://github.com/hunterhug/gomap/blob/master/README_CN.md 哈希表在某些场景下可以称为字典,用途是可 ...
分类:
其他好文 时间:
2020-05-29 19:35:32
阅读次数:
58
##二分查找的递归与非递归实现 非递归实现: public int bsearch(int[] a, int n, int value) { int low = 0; int high = n - 1; while (low <= high) { int mid = (low + high) / 2 ...
分类:
其他好文 时间:
2020-05-28 21:38:20
阅读次数:
53
以下包含有前后序的递归和非递归算法 #include<stdio.h> #include<stdlib.h> #define MAXSIZE 20 typedef struct node{ int data; struct node* right; struct node* left; }Node; ...
分类:
编程语言 时间:
2020-05-27 00:51:06
阅读次数:
72
//非递归中序遍历 //设置一个函数,该函数的作用是深入到最左侧子树但是不遍历 void inOrder_Ii(TreeNode *bt,stack S) { while (bt) { S.push(bt); if(bt->lc) bt = bt->lc; } } void inOrder_I(Tr ...
分类:
其他好文 时间:
2020-05-26 22:12:11
阅读次数:
69
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路:递归和非递归方式 ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { if(pHead1==NULL) return pHead2; if(pH ...
分类:
编程语言 时间:
2020-05-26 15:07:42
阅读次数:
59
class Solution { public: void preorderTraversal(TreeNode* root) { //1.先逐个访问左路结点,并将其入栈 //2.再访问栈顶元素的右子树 stack<TreeNode*> helper; TreeNode* cur=root; //只 ...
分类:
其他好文 时间:
2020-05-22 00:09:07
阅读次数:
59
这是一篇今日头条的面经分享,内容丰富非常丰富,持续更新中~内附视频讲解
分类:
其他好文 时间:
2020-05-20 09:32:57
阅读次数:
1011
题目描述 大家都知道斐波那契(Fibonacci)数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。 要求使用递归和非递归两种方法 1.递归 时间复杂度:O(2n) public class Solution { public int Fibonacci ...
分类:
其他好文 时间:
2020-05-13 23:34:59
阅读次数:
76
一、简介 二叉树的三种遍历方式我相信大家都了然于心,前序遍历、中序遍历、后序遍历。对于这三种遍历的递归实现,我们都不容易忘记。不过,对于非递归实现,我相信会有很多人会跟我一样,背了忘,再背再忘......(很多算法题都是这样,比如各种排序算法的实现)。经过认真观察思考后,发现实现起来是那么的简单,只 ...
分类:
其他好文 时间:
2020-05-09 09:11:48
阅读次数:
64
/*层次遍历,其实就是一个队列,先把根节点压入,之后进入循环,每次先弹出一个根节点,在输出值后,将其左右子树分别压入队列*/ void InorderTraversal(BinTree BT) { BinTree T; Stack S = CreateStack(100);//创建并初始化堆栈 wh ...
分类:
其他好文 时间:
2020-05-08 09:25:03
阅读次数:
66