数据结构与算法
TerrencePai
这个作者很懒,什么都没留下…
展开
-
C++字符串分割函数
实现C++字符串分割函数原创 2022-06-10 01:38:39 · 617 阅读 · 0 评论 -
十进制数字变长编码
谷歌开发出的一种十进制正整数的变长编码问题,可用于网络数据传输的序列化与反序列化。原创 2022-06-09 20:16:40 · 656 阅读 · 0 评论 -
变长模板函数
变长函数printf()使用了C语言的函数变长参数特性,通过使用变长函数(variadic funciton),printf的实现能够接受任何长度的参数列表。但变长参数对于传递参数的类型并不了解。此外printf不接受非内置类型。变长函数示例如下:// va_arg_test.cpp : 定义控制台应用程序的入口点。////访问可变参数流程//va_list args; //定义一个可变参数列表//va_start(args,arg); //初始化args指向强制参数arg的下一个参数/原创 2022-05-25 14:40:08 · 191 阅读 · 0 评论 -
C++模板实现八大排序算法
C++模板实现八大排序算法最近重新温习了一下十大排序算法,就用C++11模板试着实现了这些排序算法,各种数据类型都能操作,还可以像ST排序算法一般传入自定义排序规则,默认排序规则是less<>{},以下是所写程序:(其中桶排序和计数排序没有给出代码实现)#pragma once#include<utility>/*所有函数调用格式:sortMehtod(beginIterator, endIterator, compareMethod); 最后的比较方法缺省为less&l原创 2022-04-16 15:08:23 · 800 阅读 · 0 评论 -
二叉搜索树验证
关于二叉搜索树验证的递归版本,看到有位大佬的写法感觉真的很妙,这里写博客记录一下 int* last = NULL; bool isValidBST(TreeNode* root) { if (root){ if(!isValidBST(root->left)) return false; if (last && *last>=root->val) return false;原创 2022-03-27 17:17:26 · 269 阅读 · 0 评论 -
二叉树遍历
二叉树前序、中序、后序的递归遍历及非递归遍历二叉树遍历递归遍历迭代遍历二叉树遍历二叉树遍历是经常会遇到的数据结构面试题,小白在此分享一种通用方法。尽量让大家可以“一法通,万法通”递归遍历关于递归,可以首先假设已经有这样的一个现成的、和当下正在编写函数同型的函数可供我们调用,也就是可以在函数内部调用自己本身。因此,写递归函数的话,只需要缕清原问题和子问题的递归逻辑,以及递归终止条件(不然的话岂不是“子子孙孙无穷尽也了”?),就可以写出相应的代码啦。各种递归遍历方式的逻辑是一样的,这里以后序遍历为例,首原创 2022-03-24 11:07:59 · 1096 阅读 · 0 评论