自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 【查找】二分查找:C++递归实现与迭代实现

实现功能递归实现二分查找。迭代实现二分查找。核心代码/******************************************** * Author : Dong Huaan * Email : [email protected] * Filename : 11.0_BinarySearch.cpp * Crea

2018-01-07 21:30:57 485

原创 【排序】归并排序与快速排序:C++递归实现

实现功能递归实现归并排序递归实现快速排序核心代码/******************************************** * Author : Dong Huaan * Email : [email protected] * Filename : 11.0_SortAndSearch.cpp * C

2018-01-07 21:23:04 405

原创 【链表】【证明】快慢指针判断链表有环、寻找环入口、计算环大小的原理

问题:        给定一个链表:         1. 判断链表是否有环。         2. 如果链表有环,请找出环入口。         3. 计算环的大小。思路:快慢指针        分别定义一个快指针fast和慢指针slow,快指针一次走两步,慢指针一次走一步。如果链表没有环,那么fast最终会指向nullptr;如果链表有环,那么快指针和慢指针最终会相遇。所

2018-01-06 15:13:41 6621 6

原创 【链表】C++链表操作大全:创建链表、遍历链表、删除链表结点、寻找环入口、链表加法、判断回文等

实现功能本文用C++实现链表操作的以下功能:创建链表遍历链表删除给定链表结点删除等于给定值的链表结点删除重复结点寻找倒数第k个结点小于x的结点放在链表前面部分,大于等于x的结点放后面两个链表上的数字对应相加,低位在前面两个链表上的数字对应相加,高位在前面寻找环入口判断链表是否是回文核心代码/******************************

2018-01-06 14:10:27 330

原创 【链表】C/C++用二级指针删除单链表结点的精妙方法

问题        给出链表头指针,删除单链表中值为给定值的某个结点,若有重复结点则只需删除第一个。思路采用一级指针删除链表节点        采用一级指针删除链表结点需要判断前驱结点、后续结点,代码量相对较多。采用二级指针删除链表结点        在处理链表的问题中,尤其是删除链表结点,采用二级指针会使代码非常简洁。不需要判断前驱结点和后续结点,不需要判断是

2018-01-06 13:41:56 1034

翻译 常用位操作

常用技巧x ^ 0s = x; x & 0s = 0; x | 0s = x;x ^ 1s = ~x; x & 1s = x; x | 1s = 1s;x ^ x = 0; x & x = x; x | x = x;a ^ b ^ a = b;a ^ a ^ b = b;常用

2018-01-05 16:32:23 255

原创 【二叉树】打印二叉树中结点数值总和等于某个给定值的所有路径

问题给定一棵二叉树,其中每个结点都含有一个数值。设计一个算法,打印结点数值总和等于某个给定值的所有路径。注意:路径不一定非得从二叉树的根结点或叶节点开始或结束。思路采用二次遍历的方式。 1. 在函数func1中,先从根结点开始遍历二叉树,到达当前结点current。 2. 将current传入func2中,遍历current子树,打印二叉树中数值总和等于给定值的路径。两

2018-01-04 21:29:59 1194 1

原创 【二叉树】C++判断一棵树是否为另一棵树的子树【需考虑海量数据处理中的栈溢出】

问题假设有两棵非常大的二叉树:T1,有几百万个结点;T2, 有几百个结点。设计一个算法,判断T2是否为T1的子树。 子树:如果T1有这么一个节点n,从n开始的子树与T2的值一模一样,则T2为T1的子树。思路1. 如何判断:遍历T1,每遍历到一个结点current,则采用广度优先遍历方式从current开始,同时遍历T1子树和T2并做比较。若子树current与树T2完全相同,

2018-01-04 15:41:10 701

原创 【二叉树】找出二叉查找树中指定节点的中序遍历后续节点

中序后继节点

2018-01-03 22:14:03 675 2

原创 【二叉树】创建含有某一深度上所有结点的链表

实现功能给定一棵二叉树,设计一个算法,创建含有某一深度上所有结点的链表。比如,若一棵树的深度为D,则会创建出D个链表。功能代码/******************************************** * Author : Dong Huaan * Email : [email protected] * Filename

2018-01-03 17:05:47 351

原创 【二叉树】C++实现二叉树的多项操作:创建、遍历、求大小、求高度等

实现功能本文代码实现了二叉树的以下操作:无返回值的流创建。带返回值的流创建。无返回值的字符串创建。带返回值的字符串创建。前序、中序、后序递归遍历二叉树。前序、中序、后序迭代遍历二叉树。拷贝二叉树。求二叉树大小。求二叉树高度。查找二叉树中的某个元素。查找二叉树某个节点的父节点。查找二叉树中某热节点的子节点。清空二叉树。比较两棵二叉树。打印某个二叉树节点。等等。

2018-01-03 02:09:06 525

翻译 初级程序员面试知识清单

知识清单 数据结构 算法 概念 链表 广度优先算法 位操作 二叉树 深度优先算法 单例设计模式 单词查找树(trie) 二分查找 工厂设计模式 栈 归并排序 内存(栈和堆) 队列 快速排序 递归 向量/数组列表 树的插入/查找等 大O时间 散列表(哈希表)

2018-01-02 10:11:48 175

原创 递归的使用技巧

递归使用技巧终止条件。 if(n <= 0) 如何处理; if(i < n) 如何处理; 等。递归方式。 递归函数从前往后递归:1 -> n; 递归函数从后往前递归:n -> 1;处理函数/代码块的位置。 可单独定义一个子函数作为处理函数。 位置在递归函数前; 位置在两个递归函数中间; 位置在递归函数之后; 处理函数/处理代码块中间放置递

2018-01-02 10:08:25 269

翻译 2的幂表

2的幂表 2的幂 准确值(X) 近似值 X字节转换成MB、GB等 7 128 8 256 10 1 024 一千 1K 16 65 536 64K 20 1 048 576 一百万 1MB 30 1 073 741 824 十亿 1GB 32 4 294 967 296

2018-01-02 10:05:41 2484

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除