<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Python_programer的博客]]></title><description><![CDATA[欢迎大家的阅览，不对的地方，欢迎指正，共同进步！]]></description><link>https://blog.youkuaiyun.com/Python_programer</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Python_programer]]></copyright><item><title><![CDATA[回溯之N皇后问题]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/98058550</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/98058550</guid><author>Python_programer</author><pubDate>Fri, 02 Aug 2019 13:26:27 +0800</pubDate><description><![CDATA[问题及要求：
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上，并且使皇后彼此之间不能相互攻击。
给定一个整数 n，返回所有不同的 n 皇后问题的解决方案。
每一种解法包含一个明确的 n 皇后问题的棋子放置方案，该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。
来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/n-queens...]]></description><category></category></item><item><title><![CDATA[dp(动态规划)之最长公共子序列]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/97269986</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/97269986</guid><author>Python_programer</author><pubDate>Thu, 25 Jul 2019 17:51:18 +0800</pubDate><description><![CDATA[今天分享一道比较典型的dp问题：
问题描述：
我们有两个字符串m和n，如果它们的子串a和b内容相同，则称a和b是m和n的公共子序列。子串中的字符不一定在原字符串中连续。
例如字符串“abcfbc”和“abfcab”，其中“abc”同时出现在两个字符串中，因此“abc”是它们的公共子序列。此外，“ab”、“af”等都是它们的字串。
现在给你两个任意字符串（不包含空格），请帮忙计算它们的最长公共子序列...]]></description><category></category></item><item><title><![CDATA[简易版扑克牌程序]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/91041444</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/91041444</guid><author>Python_programer</author><pubDate>Thu, 06 Jun 2019 11:32:04 +0800</pubDate><description><![CDATA[大家好今天分享一道题，实现一个简易版的扑克牌程序：
题目：扑克牌游戏大家应该都比较熟悉了，一副牌由54张组成，含3~A、2各4张，小王1张，大王1张。牌面从小到大用如下字符和字符串表示（其中，小写joker表示小王，大写JOKER表示大王）：3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER输入两手牌，两手牌之间用"-“连接，每手牌的每张牌以空格分隔，”-"两边没有空格，...]]></description><category></category></item><item><title><![CDATA[C++ 模板]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/90349431</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/90349431</guid><author>Python_programer</author><pubDate>Mon, 27 May 2019 10:21:07 +0800</pubDate><description><![CDATA[今天讲下C++模板这一块的基础内容：
模板：
(1)函数模板
(2)类模板
1.泛型编程
在讲C++模板之前必须得说一下泛型编程
泛型编程就是指编写与类型无关的通用代码，是代码复用的一种手段，模板是泛型编程的基础！
比如想实现两个数的交换：
用我们之前所知道的方法就是函数重载，这是可以的，但是你想过没有，如果每来一个类型你就需要写一个对应类型的函数，这样不仅代码的复用率极低，效率低，而且代码的可维...]]></description><category></category></item><item><title><![CDATA[Linux之posix信号量]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/90445460</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/90445460</guid><author>Python_programer</author><pubDate>Wed, 22 May 2019 15:48:40 +0800</pubDate><description><![CDATA[今天来讲下POSIX信号量，用于同步操作，达到无冲突的访问共享资源的目的，可以用于线程间同步。
信号量就是一个计数器+等待队列+等待+唤醒
1.信号量的基本接口
1）初始化信号量
int sem_init(sem_t *sem, int pshared, unsigned int value);
sem：信号量变量
pshared：0表示线程间共享，非0表示进程间共享（决定用于线程间还是进程间）
...]]></description><category></category></item><item><title><![CDATA[Linux之生产者与消费者模型]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/90444404</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/90444404</guid><author>Python_programer</author><pubDate>Wed, 22 May 2019 15:09:24 +0800</pubDate><description><![CDATA[今天讲下Linux里一个很重要的概念 “生产者与消费者模型” ：
1.生产者与消费者模型的概念
生产者于消费者模型其实很常用，因为在实际开发中经常会遇到这种情况就是，一个模块负责生产
数据，而另一个模块负责处理数据，在这里就可以认为这个生产数据的模块就充当了生产者的角色
而这个处理数据的模块就充当了消费者的角色，而生产者生产的数据需要一个地方存储，就可以
是一个仓库，这个仓库是练习生产者与消费者的...]]></description><category></category></item><item><title><![CDATA[C++实现日期类]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/90412949</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/90412949</guid><author>Python_programer</author><pubDate>Tue, 21 May 2019 18:54:17 +0800</pubDate><description><![CDATA[初步学习了类和对象后，为了能学以致用，我想用类和对象实现一个日期类，能实现日期的一些计算方法！
1.功能
1）日期的大小判断
2）日期变化的日期加减天数
3）计算两个日期间隔天数
4）日期变化的日期加减天数
2.实现代码
我把接口的声明和类的定义放在了Date1.h文件里：
#pragma once

#include&lt;iostream&gt;

using std::cout;
using...]]></description><category></category></item><item><title><![CDATA[C++类和对象(2)]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/90348602</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/90348602</guid><author>Python_programer</author><pubDate>Sun, 19 May 2019 21:52:49 +0800</pubDate><description><![CDATA[今天继续讲C++类和对象这块的内容：
1.类的6默认成员函数

1.1构造函数（无返回值）
构造函数是完成初始化工作的而不是创建对象的，这点一定要记清！！！
用户没写构造函数的话编译器是会自动生成的，但是用户一旦显式的定义了编译器将不再生成！！！
如果有创建多个对象，那么调用构造函数的顺序和你创建对象的顺序是一样的！！！
&lt; font&gt;
默认构造函数有三类：（默认构造函数就指的是不用参...]]></description><category></category></item><item><title><![CDATA[Linux之线程安全]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/90248090</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/90248090</guid><author>Python_programer</author><pubDate>Thu, 16 May 2019 15:46:27 +0800</pubDate><description><![CDATA[上一节我讲了Linux线程的一些基础知识，返现多线程是不安全的，会引发安全问题，所以今天就来讲一下Linux线程安全一节的内容！
1.线程安全概念
线程安全：多个线程同时操作临界资源不会出现数据二义性
2.线程安全的实现
这里要引入两个概念：同步与互斥
同步：临界资源访问的时序可控
互斥：临界资源访同一时间的唯一访问性
临界资源：多线程执行流共享的资源
原子性：不会被任何调度机制打断的操作，该操作...]]></description><category></category></item><item><title><![CDATA[C++类和对象(1)]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/90217667</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/90217667</guid><author>Python_programer</author><pubDate>Wed, 15 May 2019 15:44:15 +0800</pubDate><description><![CDATA[今天讲一下关于C++类和对象的一些知识点：
1.类和对象的初识
C语言是面向过程的，关注过程，分析出求解问题的步骤，通过函数调用逐步解决问题。
C++是基于面向对象的，关注对象，将一件事情拆分成不同的对象，靠对象之间的交互完成。
在C语言中，结构体中只能定义变量，在C++中，结构体内不仅可以定义变量，还可以定义函数。
在C++中更喜欢用class来代替。
2.类的定义
类就是同类事物的抽象集合，而...]]></description><category></category></item><item><title><![CDATA[结构体内存对齐详解（同比C++类的大小计算）]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/90236722</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/90236722</guid><author>Python_programer</author><pubDate>Wed, 15 May 2019 14:58:38 +0800</pubDate><description><![CDATA[今天讲下结构体内存对其的问题：
因为结构体内存对齐问题算是面试或笔试时的常考问题，所以我选择单独开一篇来讲解一下！！！
这个问题我当时是有点懵逼的在看到的时候，不知道是怎么计算出来的。
终于经过一段时间我仔细看了计算规则和理解我算是弄明白了计算过程，下面我就来讲一下，有什么不对的也欢迎大家在下面评论指出！
1.结构体内存对齐是什么
结构体可以存储多种数据类型，这也就意味着结构体的大小不是简单的几个...]]></description><category></category></item><item><title><![CDATA[Linux之线程（1）]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/90206090</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/90206090</guid><author>Python_programer</author><pubDate>Tue, 14 May 2019 14:46:36 +0800</pubDate><description><![CDATA[今天讲下Linux线程这块的知识，我想很多人应该都知道多线程的重要性，现在多线程被运用在项目中的次数越来越多，而且面试中多线程也是必问的，所以要引起我们足够的重视将这块的知识学扎实。
1.线程的概念
在说线程之前我们不得不提到进程，从用户角度来说：进程是运行中的程序；操作系统角度来说：进程是操作系统对运行中程序的描述信息–进程描述符–pcb。
线程：在一个程序里的一个执行路线
或者说是：线程是一个...]]></description><category></category></item><item><title><![CDATA[git的安装及linux下git的使用]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/90168849</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/90168849</guid><author>Python_programer</author><pubDate>Mon, 13 May 2019 10:48:32 +0800</pubDate><description><![CDATA[今天讲下git的使用及linux下git的使用：
首先需要创建一个GitHub账号
先进入下面的官网（推荐使用Google浏览器）
https://github.com/
然后创建一个账号（虽然是英文我想这点难度肯定你能看懂吧！）
创建完账号并激活后会看到类似如下所示：

点击start a project（开始一个项目），然后如下所示：

按他的要求逐步输入，创建一个仓库来存放你以后的代码，这就...]]></description><category></category></item><item><title><![CDATA[C++入门基础知识]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/89962358</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/89962358</guid><author>Python_programer</author><pubDate>Sun, 12 May 2019 20:45:14 +0800</pubDate><description><![CDATA[今天讲下C++的发展历程及他的几个入门的基础知识：
1.什么是C++
C语言是结构化和模块化的语言，适合处理较小规模的程序。对于复杂的问题，规模较大的程序，需要高度 的抽象和建模时，C语言则不合适。为了解决软件危机，20世纪80年代， 计算机界提出了OOP(object oriented programming：面向对象)思想，支持面向对象的程序设计语言应运而生。
1982年，Bjarne Str...]]></description><category></category></item><item><title><![CDATA[剑指offer_03 重建二叉树]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/89580510</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/89580510</guid><author>Python_programer</author><pubDate>Sat, 27 Apr 2019 00:06:43 +0800</pubDate><description><![CDATA[今天分享一道剑指offer的题：重建二叉树
题目描述：
输入某二叉树的前序遍历和中序遍历的结果，请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6}，则重建二叉树并返回。
解题分析：
题目中要求利用二叉树的前序和中序遍历结果重建二叉树，既然是重建在C++里面那肯定要用到new来...]]></description><category></category></item><item><title><![CDATA[剑指offer_02 从尾到头打印链表]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/89527785</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/89527785</guid><author>Python_programer</author><pubDate>Thu, 25 Apr 2019 22:33:05 +0800</pubDate><description><![CDATA[今天分享一道剑指offer上的题：从尾到头打印链表
题目要求：
输入一个链表，按链表值从尾到头的顺序返回一个ArrayList。
解题思路：
首先看到从尾到头打印这句话，就应该记住栈的使用，栈的原则就是后进先出，所以这道题拿栈解决会比较简单，将链表中的元素先依次都压入栈中，然后依次弹出存到数组中。
实现代码：
class Solution {
public:
	vector&lt;int&gt; ...]]></description><category></category></item><item><title><![CDATA[linux之进程间通信(管道)]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/89520672</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/89520672</guid><author>Python_programer</author><pubDate>Thu, 25 Apr 2019 17:31:08 +0800</pubDate><description><![CDATA[今天来谈谈进程间通信：
进程间通信简称也叫ipc!
基本介绍：
操作系统提供给用户的几种进程间通信方式。
操作系统为什么要给用户提供进程间通信方式：进程的独立性（虚拟地址空间加页表）----提供一个公共的媒介。
进程间通信是干什么的：进程间数据传输，数据共享，进程控制，事件通知，也正因为有不同的应用场景（不同的需求）因此操作系统也提供了多种不同的进程间通信方式继承于unix而来的管道（匿名管道/命...]]></description><category></category></item><item><title><![CDATA[剑指offer_01 二维数组中的查找]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/89491210</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/89491210</guid><author>Python_programer</author><pubDate>Wed, 24 Apr 2019 13:46:54 +0800</pubDate><description><![CDATA[今天开始更新一些编程题，首先是《剑指offer》上的名企面试典型编程题：
题目描述
在一个二维数组中（每个一维数组的长度相同），每一行都按照从左到右递增的顺序排序，每一列都按照从上到下递增的顺序排序。请完成一个函数，输入这样的一个二维数组和一个整数，判断数组中是否含有该整数。
解题思路：
首先题目中的关键语句是“每一行都是按照从左到右递增的顺序排序，每一列都是按照从上到下递增的顺序排序”，这个信息...]]></description><category></category></item><item><title><![CDATA[数据结构之多类排序详解]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/89448778</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/89448778</guid><author>Python_programer</author><pubDate>Mon, 22 Apr 2019 17:18:50 +0800</pubDate><description><![CDATA[今天分享几个排序算法：
排序：所谓排序，就是使一串记录，按照其中的某个或某些关键字的大小，递增或递减的排列起来的操作。
稳定性：假定在待排序的记录序列中，存在多个具有相同的关键字的记录，若经过排序，这些记录的相对次 序保持不变，即在原序列中，r[i]=r[j]，且r[i]在r[j]之前，而在排序后的序列中，r[i]仍在r[j]之前，则称这种排 序算法是稳定的；否则称为不稳定的。
内部排序：数据元素...]]></description><category></category></item><item><title><![CDATA[数据结构之二叉树介绍]]></title><link>https://blog.youkuaiyun.com/Python_programer/article/details/89420419</link><guid>https://blog.youkuaiyun.com/Python_programer/article/details/89420419</guid><author>Python_programer</author><pubDate>Sat, 20 Apr 2019 17:18:19 +0800</pubDate><description><![CDATA[1.在说二叉树之前先说下什么是树？
树是一种非线性的数据结构，它是由n（n&gt;=0）个有限结点组成的一个具有层次关系的集合。像一棵倒挂的树，它的根是朝上的，而叶子是朝下的。它的特点：每个根结点有零个或多个子结点，没有父结点的结点成为根结点，每个非根结点有且只有一个父结点！每个子结点可以分为多个不相交的子树。子树是不相交的！
节点的层次：从根开始定义起，根为第1层，根的子节点为第2层，以此类推；...]]></description><category></category></item></channel></rss>