- 博客(25)
- 收藏
- 关注
原创 二叉树系列—求二叉树的单层中最大的节点数
场景:需要按层遍历二叉树(从上往下,从左往右),并且返回单层中最大的节点数。解决思路,利用queue来存储顺序的的节点,按照从左到右的顺序弹出,利用map结构<Node*,int>来存储每个节点的层数。利用变量分别统计,当前层数,节点数量,最大数量。规则为当当前层数与访问的节点层数相同,节点数量++,反之当前层数++,节点数量置为1.构造二叉树结构class BinaryTree {public: BinaryTree(int _value) { this->
2022-01-10 09:50:07 690
原创 两个单链表相交的一系列问题
业务场景:给定两个可能有环也可能无环的单链表,头结点head1和head2,请实现一个函数,如果两个链表相交,请返回链表相交的第一个节点,如果不相交返回null.构造单链表结构如下:class ListNode {public: ListNode* next = NULL; int value; ListNode(int _value) { this->value = _value; }};推断不为空单链表可能存在的样式:首先判定单链表是
2021-12-23 12:09:44 779
原创 经典链表拷贝算法
问题描述:rand指针是单链表节点结构中新增的指针,rand可能指向链表中的任意一个节点,也可能指向null,给定一个由Node节点组成的无环单链表的头节点head,实现链表的复制,并返回新链表的头节点。时间复杂度O(N),额外空间复杂度O(1)链表结构:class Node {public: Node* next=NULL; Node* rand=NULL; int value; Node(int _value) { this->valu
2021-12-16 10:24:37 2460
原创 python—针对csv的数据处理
功能简介:支持将csv报表转成特定的格式并支持数据处理历时三日,终完成,此功能类似于针对单元格中的内容做条件格式的处理。抛砖引玉。实现过程:加载csv报表—>格式转换成xlsx格式,简单处理,保存—>修改表格样式,保存文件,输出报表加载csv报表:1、外部输入全路径 2、默认为文件夹下最新的修改的csv报表格式转换:报表转换后文件名按照当前系统时间默认生成,保证每次转换不会有重复的文件夹修改表格样式:按照标准表格的要求,输出报表实现代码import osimport loggi
2021-12-13 15:57:20 1200
原创 python—处理实时上传数据信息
天气晴,穿着裤子被蚊子咬了,广东的蚊子没想到也是996.业务场景:针对离线上传的数据,当上传多次(次数可设置)之后未成功,则不再上传该条数据。本次以txt文本为例,存储和读取数据1、获取当日的数据信息def readUploadRecord(filePath): try: logging.info("开始加载最近一次的上传记录") currentTime = datetime.datetime.now().strftime('%Y%m%d')
2021-12-13 15:42:22 719
原创 python—利用TCP实现数据上传
今天晴,天气微热,易分享代码。因最近利用python完成脚本功能,现做一下整理,因整体代码过程可能不适用各种业务需求,先进行拆分讲解。如有缺陷或不美妙的地方,还请各位多多交流指教!!以下代码将:利用TCP实现数据的实时上传,并接收返回值首先需要了解TCP的相关知识点,推荐一个文章,可自行阅读:https://www.cnblogs.com/onesea/p/13053697.html1、首先设置相关连接参数(IP,端口,数据量大小)HOST = '127.0.0.1' #目标主机IPPORT =
2021-12-13 15:05:02 2703
原创 python—实现str转MD5
功能:利用python实现string转MD5,可打包压缩为小程序:#!/usr/bin/env python# -*- coding: utf-8 -*-from tkinter import *import hashlibimport timeLOG_LINE_NUM = 0class MY_GUI(): def __init__(self,init_window_name): self.init_window_name = init_window_name
2021-12-13 10:15:20 1849
原创 针对所有常见排序算法的综合比较分析
今天,秋风瑟瑟,略感微凉,废话不说,正文开始:首先除去已知的时间复杂度和空间复杂度之外,需要了解到的一个重要的概念就是排序的稳定性。稳定性定义:相同个体的元素再排序前后,相对位置不发生改变,则代表该算法具备稳定性,反之则不具备稳定性。了解概念之后,我们逐一分析各种排序算法的稳定性!!!选择排序:工作原理:从待排序的数据中挑选出最小或最大的元素交换存储到开始的位置,再从剩余的数据中挑选最大或最小的元素放置已排序位置之后,依次类推,每次都需要两两之间相互比较,直到最后一个元素,结束排序。因此时间复杂
2021-12-13 09:57:26 1386
原创 vector——防止内存溢出的处理方法
利用swap() 交换函数,可进行内存的防止溢出。如下所示。vector p1;p1.resize(10000);p1.push_back(1);p1.push_back(2);p1.push_back(3);//当使用内存空间远远小于开辟的空间时,造成内存浪费和内存溢出的危险。//利用匿名对象的特性:匿名对象使用结束后,内存自动回收。vector(p1).swap(p1);可以有效的将内存空间进行回收。...
2020-11-08 22:24:03 1527
原创 递增递减运算符的使用方法——从性能出发看问题
1、递增、递减运算符的介绍:递增运算符(++)和递减运算符(–)为对象的操作提供了简洁的书写形式,尤其是很多迭代器不支持算术运算,因此递增和递减成为了必须。递增和递减有两种形式,前置版本和后置版本。用法就不赘述了,相信很多人都比较了解。2、从性能角度分析,前置版本和后置版本。前置版本:首先将运算对象+1,然后将改变后的对象作为求值的结果,进行返回。后置版本:也会将运算对象+1,但是求值结果,是运算对象改变之前的副本。两种运算符必须作用于左值运算对象,,前置版本将对象本身作为左值返回,后置版本则将
2020-08-29 12:05:26 718
原创 指针的数据类型
本篇所指内容,均已指针为例,如有不正之处,欢迎指出。1、首先介绍两个标准函数begin和end:为了让指针的使用更安全、简洁。c++11引入了以上两种函数,这两个函数与容器中的函数功能类似。不过数组不是类类型,因此两个函数并非成员函数,正确的使用形式是将数据作为参数,举例说明:int ia[] = {0,1,2,3,4,5};int *beg = begin(ia);int *last = end(ia);begin(): 返回ia首地址的指针(头指针)。end(): 返回ia尾地址后一位的
2020-08-29 11:36:34 678
原创 计算点云图中任意两点的距离——欧式距离
计算点云图中任意两点的实际距离:思路:首先利用pcl获取屏幕的三维点坐标,然后利用欧式距离的公式,即可求出两点的实际距离。(一般3D相机线扫获取的文件格式为bin/csv/txt,需要进行格式的转换,才可利用pcl拾取三维坐标)平台:vs2015+pcl1.8.1PCL: 并非绝地求生,而是基于C++的点云库,实现了大量点云相关的通用算法和高效数据结构,涉及到点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。PCL配置:https://blog.csdn.net/uniqu
2020-08-28 10:58:10 5214 15
原创 基于VS2015+PCL的点云图格式的转换
问题描述:在利用PCL(点云库)进行格式点云数据的格式转换问题中,调试过程未发生问题,但是运行中,会因为调用pcl::io::savePCDFileASCII(“001xyz.pcd”, pcdcloud);而产生abort()has been called的错误。本人翻阅古今史料,但终究因能力有限,至今未究其因。困扰至今,特在此求助,望各位大神,不吝赐教。开发平台:vs2015+pcl...
2020-08-28 08:24:46 293
原创 C++ 数组下标的数据类型
总所周知,c++数组的索引,都是从0开始的,而下标的数据类型一般定义为size_t类型,size_t是一种机器相关的无符号类型,它被设计的足够大,以保证能表示内存中任意对象的大小,在cstddef头文件中定义了size_t类型。这个文件是c标准库stddef.h头文件的c++语言版本。 另外,本人目前工作的研究方向为视觉部分,感兴趣的朋友欢迎与我交流。 本人程序员中的小学生,如有不正之处,请评论处,进行讨论。谢谢。...
2020-08-21 22:10:00 4626 3
原创 Struts2和Hibernate整合之路——001
整合过程中以名片管理系统为例,主要对于数据库的连接由原来的jdbc和连接池技术,更改为HIbernate的框架,即采用struts2+hibernate+C3P0进行整合,(1)首先是加载hibernate需要的包和c3p0连接池的jar包(2)添加Hibernate的配置文件hibernate.cfg.xml(3) 设计用户类的和名片类的设计和映射文件,并且添加到hibernate.cfg...
2019-07-08 12:12:10 283
原创 学习日志 2
2019.6.26 晚22:02开始听的故事-“你” ,每一首歌都是一篇故事,就像每段代码,都是一种心情,一种人生的阅历,一种积累,今天早上:1、完成了ftp的实验,虽然最后连接不到服务器,实验算起来,是有一点失败的,2、邮箱服务的问题,今天还是解决,最后 的账户名没有写合适,3、下载了jar包,发现一个下载jar包的好地方。下午:1、配置MySQL的环境变量,果然就配置系统环境...
2019-06-26 22:17:52 114
原创 学习日志1
最近学习的主要精力还是放在对于spring的学习上面,目前来看,学习过程还是可以,对于编程的理解,随着学习的深入也越来越能理解。前几天参加一个电话面试,还是对自己算起来是迎头一击吧,自己掌握的能力还是很薄弱,目前来看,主要的精力是先学会ssh框架,然后是数据库,最后是前端的了解,由于数据库还是有一点基础,看起来会稍微轻松一点,我对自己的职业规划是,先从Java开发做起,然后向数据分析靠近,毕竟我还...
2019-06-24 22:16:34 111
翻译 spring——实例化bean
首先实例化bean有四种方法进行实例化1、通过默认构造方法进行实例化bean2、通过静态工厂的方式实例化bean3、通过实例工厂的方式实例化bean4、Bean的别名在配置文件中的写法也各不相同,下面一一对应一般通过默认的构造方法进行是实例化bean....
2019-06-24 21:59:24 90
原创 数据库连接池的工作机制
最近正在自学Java EE的部分,在数据库连接池这部分感觉很不错,总结一下,请各位大神批评指正!Java EE服务器在启动的时候会建立一定数量的池连接,并维持不少于此数目的池连接,客户端程序需要连接时,池连接程序会返回一个未使用的池连接,如果当前没有空闲连接,池驱动程序会创建一定数量的连接,当使用的池连接调用完成后,池驱动程序标志为空闲,方便其他调用程序。...
2019-05-25 19:41:41 508
转载 Singleton模式
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。一般Singleton模式通常有几种种形式:第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。public class Singleton {...
2019-05-25 19:35:28 233
原创 switch作用的类型!
欢迎各位大神,批评指正!switch(expr1)中,expr1是一个整形表达式,因此传递给switch和case语句的参数因该是int ,short,char或byte,long和String都不能作用于switch。...
2019-05-24 22:11:15 1729
原创 JAVA中对于重载(Overload)和重写(Override)的区别
在Java中,多态性主要表现在重写和重载,我按照我的理解大概梳理一些知识内容,欢迎各位大神补充!重写:父类和子类之间多态性的一种表现,当子类中的方法名及参数的个数与类型相同时,即对父类中相同方法名的方法进行 了重写,当子类创建对象调用该方法时,子类的方法会“屏蔽”父类的方法,即同名屏蔽。重载:是一个类中多态性的一种的表现,当类中定义了多个同名的方法,它们有多个不同的参数或不同参数类型...
2019-05-24 21:49:59 129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人