新宇的博客

Keep on going and never give up!

排序算法(一)

冒泡、选择、插入、快速

一、排序算法的稳定性 1. 概念 例如:如果订单默认按照时间排序,需要按照金额排序,就要保证相同金额的订单原来的时间顺序不会变化; 2. 不稳定排序 (不相邻两数比较) 选择 快速 希尔 堆 3. 稳定排序 (相邻两数依次比较) 冒泡 插入 归并 基数 4. 衡量标准 时间复杂度:最好/最坏 空间复杂度:原地排序(O(1)) 5. 排序算法总结 二、冒泡排序 1....

算法简介

一、基本介绍 1. 定义 数据结构:存储和组织数据的方式 算法: 解决问题的思路和方式,不依赖于代码 二、算法 1. 算法的五大特性 2. 算法的时间衡量标准 能不能用执行时间来衡量? 不能!!! 不同硬件运行时间相差比较大,需要忽略计算机执行环境的影响 随着问题规模的变化,时间不能反映算法的效率 增长趋势: ...

数据结构(一)

顺序表、链表、栈、队列

一、 概念 1. 概念 存储和组织数据的方式 2. 作用 3. 内存存储结构 二、数据结构 1. 数据结构的分类 1. 线性结构 2. 非线性结构 2.线性表 1. 顺序表 定义:将元素顺序地存放在一块连续的存储区间里 一体式结构:信息区和数据区在一起 分离式结构:信息区和数据区分开 数据扩充策略 ...

Python高级语法(二)

property、with、深/浅拷贝、正则

一、property属性 1.作用:把方法的调用变成属性调用 class Person(): def __init__(self): self.__age = 0 @property def age(self): return self.__age @age.setter def age(self,age): ...

Python高级语法(一)

闭包、装饰器

一、闭包 1. 作用 内部函数保存外部函数的参数 2.闭包定义 函数嵌套 内部函数使用外部函数的参数 外部函数返回了内部函数 3.代码格式 def func_out(num1): def func_inner(num2): num = num1+num2 return num return func_inner f =...

Python网络编程

socket、TCP、HTTP

一、网络简介 1. 网络的定义 信息传递和共享虚拟平台 2. ip 网络设备的唯一编号 ip分类 ipv4 ipv6:可编号的网络设备数目大 3.ip和域名的关系 域名解析 www.baidu.com<==>35.156.69.79 4. ip相关命令 ifconfig ping 5.端口和端口号 端口:数据传输的通道 端口号:端口的编号 0-65535 分...

Python多任务编程

进程、线程

一、多任务 1. 多任务 在同一时间段,同时执行多个任务 2. 并发 任务数量 > CPU核心数量,CPU核心在同一时间段交替执行 3. 并行 任务数量 < CPU核心数量,同一时刻执行多个任务(指多核情况下) 二、进程 1.概念: 进程是操作系统调度和分配资源的最小单位 2.特点 程序开启后默认开启一个进程 开启多个进程执行任务效率更高 开启进程后默认开启一个主...

Linux基础命令

常见、高级命令

一、基础简介 1. 虚拟机 虚拟机就是一款软件,运行在windows macos上 虚拟机作用:在当前系统上虚拟出一个或多个操作系统, 虚拟机的优点:各个虚拟机之间相互独立,互不影响 docker容器 anaconda:python环境管理工具,不同容器中可以选择不同的python版本 ...

docker

docker常用命令

一、docker常用命令 # 查看系统下所有镜像 docker images # 查看系统下所有容器 docker ps -a # 查看docker信息 docker info # 在镜像UPC:2019上创建容器 # -i后面跟镜像 # -v后面跟文件映射地址(本地文件:容器文件) # -d 后面跟GPU编号(0,1,2,3),最多四块 dockerrun -i UPC:201...

Python源码剖析-上篇

整体架构与Python内建对象 一. Python总体架构 架构图 文件组(File Groups) 内建模块 第三方库 用户自定义模块 Python核心——解释器(interpreter) ...