![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
Hcaroline
扛住就是本事。
展开
-
栈和队列的应用
problem:一个表达式中括号表示将里面的字符串翻转。输入:一行字符串输出:一行字符串,如果表达式符号不匹配输出空字符串。solution:#include <iostream>#include <stack>#include <queue>using namespace std;#include <string>int mai...原创 2019-09-04 21:52:31 · 268 阅读 · 0 评论 -
对任意数求指数
problem:给定一个double类型的浮点数base和int类型的整数exponent,求base的exponent次方。tip:①考虑指数的正负,底数是否为0等情况②写出指数的二进制的表达,例如13表达为1101.③举例:10^1101 = 10 ^ 000110 ^ 010010 ^ 1000④通过&1和>>1来逐位读取1101,为1时将该位代表的乘数累乘到...原创 2019-08-09 22:18:12 · 344 阅读 · 0 评论 -
对链表的进一步理解(由判断链表是否是回文的错误想法引起的思考)
可能只有我会傻傻地理解错,哈哈,还好及时纠正了! 在判断一个链表是否是回文时,我简单地以为只要把链表反转然后比较反转前后的值是否相同即可,但是忘了链表操作的只是头指针,存储的也只是头指针,不是整个链表!!!当...原创 2019-06-05 16:21:30 · 108 阅读 · 0 评论 -
二叉树的先序,中序,后序遍历举例
eg1:前序遍历:ABCDEFGHK中序遍历:BDCAEHGKF后序遍历:DCBHKGFEAeg2:前序遍历:1 2 4 5 7 8 3 6 中序遍历:4 2 7 5 8 1 3 6后序遍历:4 7 8 5 2 6 3 1层次遍历:1 2 3 4 5 6 7 8...原创 2019-04-12 10:12:39 · 21502 阅读 · 6 评论 -
二叉树的构建与遍历(最简单的二叉树)
#include <iostream>using namespace std;**//****定义节点的类模板。二叉树的节点是一个类的实例,该类由一个信息成员和两个指针成员组成*****template <typename T>class binaryTreeNode{public: T element; binaryTreeNode<T>...原创 2019-04-11 22:46:17 · 229 阅读 · 0 评论 -
单链表的插入和删除
#include <iostream>using namespace std;**//**链表不是随机存取结构,不能直接按序号访问结点。头结点可以看做第0个结点,所以计数器j加到i时为第i个结点。**typedef struct node{ int data; struct node *next;}ListNode;**//创建带头结点的单链表**Li...原创 2019-04-10 19:19:32 · 4728 阅读 · 0 评论 -
单链表的构建
#include <iostream>using namespace std;struct node{ int data; struct node *next;};**//尾插法构建不带头结点的单链表**struct node * creat_wf(int n){ struct node *head; struct node *p,*q;...原创 2019-04-10 15:29:24 · 867 阅读 · 0 评论 -
KMP算法!总算搞明白了(详细实现程序见最后)
博客原地址:https://www.cnblogs.com/dusf/p/kmp.html,对作者的明晰的解析表示感谢。1. 一般的解法KMP算法要解决的问题就是在字符串(也叫主串)中的模式(pattern)定位问题。说简单点就是我们平时常说的关键字搜索。模式串就是关键字(接下来称它为P),如果它在一个主串(接下来称为T)中出现,就返回它的具体位置,否则返回-1(常用手段)。 首...转载 2019-03-30 16:18:36 · 600 阅读 · 0 评论