摘要: inline 函数避免函数调用的开销 普通的函数调用操作系统会保留当前运行状态,将状态保留在堆栈中,然后跳转函数,函数运行完后跳回原函数,取出堆栈中的保留数据。 内联函数则是直接将函数代码拷贝到内存中,无需跳转,可以提高程序的运行速度,但是同样也会增加内存。 阅读全文
posted @ 2019-01-09 14:25 张三编程分享 阅读(160) 评论(0) 推荐(0)
摘要: #include <cctype>的函数 c++中应该是#include <cctype> c中应该是#include <ctype.h> 以下为字符函数库中常用的函数: 函数名称 返回值 isalnum() 如果参数是字母数字,即字母或数字,该函数返回true isalpha() 如果参数是字母, 阅读全文
posted @ 2019-01-09 10:37 张三编程分享 阅读(234) 评论(0) 推荐(0)
摘要: 类背后蕴涵的基本思想是数据抽象和封装。 数据抽象是一种依赖于接口和实现分离的编程(和设计)技术。类设计者必须关心类是如何实现的,但使用该类的程序员不必了解这些细节。相反,使用一个类型的程序员仅需了解类型的接口,他们可以抽象地考虑该类型做什么,而不必具体地考虑该类型如何工作。 封装是一项低层次的元素组 阅读全文
posted @ 2019-01-08 19:21 张三编程分享 阅读(984) 评论(0) 推荐(0)
摘要: 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。 示例 :给定二叉树 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 注意:两结点之间的路径长度是以它们之间边的数目表示。 阅读全文
posted @ 2019-01-08 15:39 张三编程分享 阅读(423) 评论(0) 推荐(0)
摘要: 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如, 你应该返回如下子树: 在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。 阅读全文
posted @ 2019-01-07 15:22 张三编程分享 阅读(170) 评论(0) 推荐(0)
摘要: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 阅读全文
posted @ 2019-01-07 15:02 张三编程分享 阅读(139) 评论(0) 推荐(0)
摘要: 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 返回它的最小深度 2. 阅读全文
posted @ 2019-01-07 14:58 张三编程分享 阅读(260) 评论(0) 推荐(0)
摘要: 二叉树的一个重要的应用是他们在查找中的使用。 以下是二叉查找树的查找代码 阅读全文
posted @ 2019-01-07 14:28 张三编程分享 阅读(159) 评论(0) 推荐(0)
摘要: 优先队列和普通队列的区别在于,优先队列(堆)总是先优先处理队列中最小的元素。 优先队列(堆)允许至少下列两种操作:Insert(插入),以及DeleteMin(删除最小者),他的工作是找出、返回和删除优先队列中的最小元素。Insert操作类似于Enqueue(入队),而DeleteMin则是队列中D 阅读全文
posted @ 2019-01-07 10:12 张三编程分享 阅读(268) 评论(0) 推荐(0)
摘要: 对于大量的输入数据,链表的线性访问时间太慢,不宜使用。数这种简单的数据结构其在大部分时间的操作运行时间平均位O(log N)。 阅读全文
posted @ 2019-01-07 09:16 张三编程分享 阅读(125) 评论(0) 推荐(0)