c数据结构
通信仿真爱好者
phd在读,爱好通信领域相关仿真,包括调制解调,OFDM,MMIMO,信道编码(ldpc,polar,卷积)等,也擅长可见光(VLC),多址接入(NOMA,RSMA),无人机(UAV),智能反射面(RIS)等通信优化问题相关的资源分配算法,如sca,拉格朗日等,也擅长使用强化学习解决通信相关问题。所展示的仿真图均有完整代码一键运行出图
展开
-
数据结构之字符串匹配问题
问题描述从文本串t中找出第一次模式串p出现的位置1.暴力穷举#include <iostream>#include <string.h>using namespace std;int find(string haystack, string needle){ int t = haystack.size(); int p = needle.size(); int i=0; int j=0;原创 2020-11-14 17:59:15 · 202 阅读 · 0 评论 -
剑指offer_t38_二叉树的深度
1.递归解法:分析:1.如果只有一个根节点,那么其深度为1;2.如果根节点只有左子树没有右子树,那么深度为左子树深度+1;同理3.如果一棵树既有左子树又有右子树,那么深度为较大的那个子树深度再+1.代码如下:class Solution {public: int TreeDepth(TreeNode* pRoot) { if(!pRoot) return 0; return max(TreeDepth(pRoot->left),TreeD.原创 2020-11-05 13:44:53 · 123 阅读 · 0 评论 -
二叉树的遍历方式
文章目录二叉树概念二叉树遍历方式广度优先遍历(层序遍历)深度优先遍历例子先序遍历-栈实现:中序遍历-栈实现:后序遍历-栈实现层序遍历-队列实现:代码实现二叉树概念二叉树遍历方式广度优先遍历(层序遍历)规则:从上往下对每一层操作,在每一层中,从左至右访问节点上图遍历结果:root->A->B->C->D->E注意:对于层序遍历方式,一般借助队列来实现。如题剑指offer:从上往下打印二叉树深度优先遍历规则:对每一个可能的分支路径深入到尽头为止,且每个节点之访问原创 2020-11-03 19:06:30 · 123 阅读 · 0 评论 -
从图开始,理解单链表---完整c语言实现()
参考:大话数据结构参考:创建单链表的头插法与尾插法详解单链表插入节点。首先说一下我对书中几个概念的理解。如下图所示, 节点p以及节点p->next以及节点s实际上指的是指向该节点数据域的一个指针,一些书中称呼该节点时就把指针名当作该节点的名字。刚开始学链表的时候,这一块还是特别绕口的,后来通过画图,逐渐理解并记住了单链表的一些操作。说一下我关于指针"指向"相对应赋值号“=”理解,即表达式从左往右看,即为左边的指针指向右边的地址。其实也就是相当于把右边的地址值赋给左边的指针变量。关于指向p原创 2020-06-10 16:12:27 · 486 阅读 · 0 评论 -
单链表创建且遍历之带头结点与不带头结点
初学单链表碰到一个小坑:下面代码是一个很简单的创建并遍历链表的过程。#include<stdio.h>#include<malloc.h>#include<string.h>typedef struct student{ int score;//数据域; struct student *next;//指针域; }Linklist;Linklist *creat(int n)//创建链表 ,为指针函数,返回的是一个指针{ Lin原创 2020-06-10 16:05:42 · 787 阅读 · 0 评论