摘要:
问题(假定根节点位于第0层)1. 层次遍历二叉树(每层换行分开)2. 层次遍历二叉树指定的某层例如上图中1.12 34 5 67 82.第三层7 8可以看出得出第二问的解,第一问迎刃而解了,所以从问题二下手分析与解1. 层次遍历二叉树指定的某层可以得出这样的一个结论:遍历二叉树的第k层,相当于遍历二... 阅读全文
摘要:
问题定义把二叉树看成一个图,父子节点之间的连线看成是双向的,定义“距离”为两个节点之间的边数。例如下图中最大距离为红线的条数为6.分析定义:过以节点x作为根节点的子树中,节点间的最大距离为Dis(x)。上图,左图中Dis(根节点)最大,右图中Dis(根节点->left)最大。从上边可以看出每个节点都可能成为最大距离根节点的潜质。因此可以求出每个Dis(节点),从中得出最大值即为整个二叉树的根节点最大值。在求过点x的最大距离时,最大距离的两个点有可能出现在三种情况下左子树右子树过节点x经分析得出以下特点以上三种情况最终必定一叶子结束在第三种情况下必然是左子树高度 与 右子树高度 之和(只有 阅读全文
摘要:
缘起在自然语言处理过程中,全角、半角的的不一致会导致信息抽取不一致,因此需要统一。转换说明全角半角转换说明有规律(不含空格):全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E)半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E)特例:空格比较特殊,全角为 12288(0x3000),半角为 32(0x20)除空格外,全角/半角按unicode编码排序在顺序上是对应的(半角 + 0x7e= 全角),所以可以直接通过用+-法来处理非空格数据,对空格单独处理。注:1. 中文文字永远是全角,只有英文字母、数字键、符号键才有全角半角的 阅读全文
摘要:
基本思想 把n个元素的数列分成有序(前)和无序(后)的两部分 每次处理就是将无序的数列中第一个元素与有序数列的元素从后到前比较,找到插入位置,将该元素插入到有序数列的适当的最终的位置上(稳定排序)。 参考代码一 连续交换的时候相当于整体后移,把做比较元素放到最终位置上,修改如下。 参考代码二 运行结 阅读全文
摘要:
归纳优点:比较次数少、查找速度快、平均性能好缺点:待查找表为有序表、插入删除困难时间复杂度:O(logN)实用场景:有序数组思路假设表为升序排列,中间元素和待查元素比较,如果中间元素和待查元素相等找到了;如果小于则在前半段找;否则在后半段找。递归int BiSearch(int *a, int be... 阅读全文
摘要:
c/c++常需要获得最大值,最小值,通常这两个数与平台和操作系统有关,因此可移植的办法就是推荐使用库函数提供的常量定义1. 利用语言自定义类似的常量定义在limits.h和float.h头文件中。在头文件中,整数的最值通常是这样的名字:INT_MAX, INT_MIN,直接使用即可。2. 自定义变量int MAX_INT = ((unsigned)(-1))>>1;int MIN_INT = ~MAX_INT;解释int占4个字节。-1是有符号数,默认用补码表示,二进制表示为32个1,如果强制解释为无符号数,那么(unsigned)(-1)=(11111111 1111111111 阅读全文
摘要:
特点栈——先进后出队列——后进先出思路1. 快速得到最大值的栈结构需要两个数组:一个数组stackItem保存栈的元素,另一个数组link2NextMaxValueIndex保存下一个最大值的位置两个指针:一个为stackTop指向栈顶,另一个为maxValueIndex指向最大值的下标操作插入时:比较插入元素与最大值的大小,如果比最大值还大呢,link2NextMaxValueIndex指向原来最大值的位置(即maxValueIndex),而maxValueIndex变为现在插入元素的位置;否则link2NextMaxValueIndex指向-1删除时:删除元素的位置出,如果maxValue 阅读全文
摘要:
问题思路cur = pre->next;post = cur=>next;cur->next = pre;cur = post;代码ListNode* reverseList(ListNode *root){ if (root == NULL) return root; L... 阅读全文
摘要:
线性表有序数组中绝对值最小值队列链表逆转单链表解决单链表中的环问链表中倒数第k个结点树二叉树遍历二叉树距离二叉树还原图图遍历查找图的遍历二分查找排序冒泡排序直接插入排序简单选择排序希尔排序快速排序堆排序归并排序动态规划最长连续序列最大上升序列编辑距离最长公共子序列 阅读全文
摘要:
1.Hadoop集群可以运行的3个模式?单机(本地)模式伪分布式模式全分布式模式 2. 单机(本地)模式中的注意点?在单机模式(standalone)中不会存在守护进程,所有东西都运行在一个JVM上。这里同样没有DFS,使用的是本地文件系统。单机模式适用于开发过程中运行MapReduce程序,这也是最少使用的一个模式。3. 伪分布模式中的注意点?伪分布式(Pseudo)适用于开发和测试环境,在这个模式中,所有守护进程都在同一台机器上运行。4. VM是否可以称为Pseudo?不是,两个事物,同时Pseudo只针对Hadoop。5. 全分布模式又有什么注意点?全分布模式通常被用于生产环境,这里我们 阅读全文