02.python实现排序算法

清风_Z 2019-05-15 18:38:00 阅读数:12 评论数:0 收藏数:0

一、列表排序

  将无序列表变为有序列表

  应用场景: 榜单,表格, 给二分查找用,给其他算法用

二、python实现三种简单排序算法

时间复杂度O(n^2), 空间O(1)

1、冒泡排序

列表每两个相邻的数,如果前面的比后面的大,那么交换这两个数

代码实现:

# 冒泡排序
@cal_time  # 测试执行时间 def bubble_sort(li):
    for i in range(len(li)-1): # i表示第i趟
        # 第i趟无序区位置【0,n-i-1】
        for j in range(len(li)-i-1):
            if li[j] > li[j+1]:
                li[j], li[j+1] = li[j+1], li[j]

# 最好情况 O(n^2)
# 平均情况 O(n^2)
# 最坏情况 O(n^2)


# 优化改进>>>
# 思路:如果冒泡排序中执行一趟而没有交换,则列表已经是有序状态,可以直接结束算法。
@cal_time
def bubble_sort2(li):
    for i in range(len(li)):  # 表示第i趟
        exchange = 0
        # 第i趟无序区的位置【0,n-i-1】 n是列表长度
        for j in range(len(li)-i-1):
            if li[j] > li[j+1]:
                li[j], li[j+1] = li[j+1], li[j]
                exchange = 1
        if not exchange:  # 如果遍历一遍没有发生交换,则已经有序,直接返回
            return

# 最好情况 O(n)
# 平均情况 O(n^2)
# 最坏情况 O(n^2)

2、选择排序

思路:

  一趟遍历记录最小的数,放到第一个位置;

  再一趟遍历记录剩余列表中最小的数,继续放置;

  ...

问题:

  怎么选出最小的数

# 找最小值
def find_min(li):
    min_num = li[0]
    for i in range(1,len(li)):
        if li[i] < min_num:
            min_num = li[i]
    return min_num

# 找最小值的下标
def find_min_pos(li):
    min_pos = 0
    for j in range(1,len(li)):
        if li[j] < li[min_pos]:
            min_pos = j
    return min_pos


li = [2,5,8,9,11,15,5,1]
print(find_min(li))  # 1
print(find_min_pos(li))  # 7

选择排序:

def select_sort(li):
    for i in range(len(li)-1):  # 第i趟遍历,从0开始
        # 第i趟 无序区【i, len(li)-1】
        # 找无序区最小数位置,和无序区第一个数交换
        min_pos = i
        for j in range(i+1, len(li)):  # 从无序区第二个开始找
            if li[j] < li[min_pos]:
                min_pos = j
        li[min_pos], li[i] = li[i], li[min_pos]

li = list(range(100))
random.shuffle(li)   # 打乱列表次序
print(li)
select_sort(li)
print(li)

比冒泡排序快。

3、插入排序

思路:

  列表被分为有序区和无序区两个部分。最初有序区只有一个元素。每次从无序区选择一个元素,插入到有序区的位置,直到无序区变空。

代码:

def insert_sort(li):
    for i in range(1, len(li)):  # i表示第i趟,还表示无序区第一个数的位置
        tmp = li[i]
        j = i - 1  # j 从后往前遍历有序区的指针
        while j >= 0 and li[j] > tmp:  # j遍历结束或无序区第一位大于j指向的数时跳出循环
            li[j + 1] = li[j]  # 有序区的第j位往后挪一位
            j -= 1  # j 向前指一位
        li[j + 1] = tmp  # 将tmp插入到有序区j后面一位

三、python实现三种较复杂排序算法

 1、快速排序

时间复杂度: O(nlogn)

思路:

  取一个元素p(第一个元素),使元素p归位;

  列表被p分成两部分,左边都比p小,右边都比p大;

  左右两边递归完成排序。

方法一(经典方法):

归位思路:

  将要归位的数p存起来,此时左游标left指向空

  将游标指向的数与p比较,大于放右边,小于放左边(详细操作:

  先将右游标right指向的数与p比较,大于p,位置不变,右游标往左移一位,继续比较;小于p,放到left指向的空位置,此时right指向空,然后移left

  再将left游标往右移一位指向的数与p比较,小于p,位置不变,left往右移一位,继续比较;大于p,放到right指向的空位置,此时left指向空,然后移right)

  当左游标等于右游标时,游标指向的位置就是p要归的位置

  注意处理最坏情况(列表倒序)导致递归达到最大深度,从列表中随机取一个与第一个交换位置

代码:

def quick_sort(li, left, right):
    if left < right:  # 递归区域至少有两个元素
        mid = partition(li, left, right)  # 归位
        quick_sort(li, left, mid-1)  # 左边
        quick_sort(li, mid+1, right)  # 右边


def partition(li, left, right): 
    i = random.randint(left, right)  # 防止最坏情况(列表有序或倒序)导致递归达到最大深度,从列表中随机取一个与第一个交换位置 
    li[i], li[left] = li[left], li[i]
    tmp = li[left]  # 将要归位的数存起来
    while left < right:
        while left < right and li[right] >= tmp:
            right -= 1   # 右边的数大于等于tmp就不动,right游标往左走
        li[left] = li[right]     # 右边的数小于tmp就往左放
        while left < right and li[left] <= tmp:
            left += 1     # 左边的数小于等于tmp就不动,left游标往右走
        li[right] = li[left]       # 左边的数大于tmp就往右放
    li[left] = tmp  # left=right 将tmp归位
    return left

方法二(算法导论中的归位方法):

归位思路:

  取最后一个元素r归位,

  分两个区域,将小于r的数都放到区域一, 剩下的就是大于r的区域二

  然后将r与区域二的第一个数交换,就归位成功了

  与方法1一样也有python递归最大深度的问题

代码实现:

def partition2(li, left, right):
    # 区域1:[left, i] 区域2:[i+1, j-1]
    i = left - 1  # 初始区域1和区域2都空,i指向区域1最后一个数
    for j in range(left, right):
        if li[j] < li[right]:  # 放到区域1,i往后移一位
           i += 1
           li[i], li[j] = li[j], li[i]  # 与区域2的第一个数(i+1)交换归为区域1,
    li[right], li[i+1] = li[i+1], li[right]  # 归位
    return i+1   # 返回mid

 方法三(占用空间的方法):

思路:

  每次都取中间的数为归位,尽可能的避免最坏情况导致python递归达最大深度的问题

  开三个列表,一个放大于归位数的,一个放小于归位数的,一个放等于归位数的

  然后将三个列表拼起来

  递归结束条件,列表长度小于等于1, 

代码:

def quick_sort3(li):
    if len(li) <= 1:
        return li
    m = li[len(li)//2]  # 防止列表本来就是有序或倒序的,导致递归达到最大深度,不取li[0]
    left = [item for item in li if item < m]
    right = [item for item in li if item > m]
    x = [i for i in li if i == m]
    return quick_sort3(left) + x + quick_sort3(right)

一行实现快速排序:

quick_sort4 = lambda li: li if len(li) <= 1 else quick_sort4([item for item in li[1:] if item <= li[0]]) + [li[0]] + quick_sort4([item for item in li[1:] if item > li[0]])

2、堆排序

堆的概念:

  堆是完全二叉树,完全二叉树可以用列表来存储,通过规律可以从父亲找到孩子或从孩子找到父亲,堆中某个节点的值总是不大于或不小于其父节点的值

  大根堆:一棵完全二叉树,满足任一节点都比其孩子节点大

  小根堆:一棵完全二叉树,满足任一节点都比其孩子节点小

堆排序利用了堆向下调整的特征:节点的左右子树都是堆,但自身不是堆。

向下调整,挨个出数;

通过父节点找子节点:父节点下标为i

  则:孩子节点为,2i+1 和 2i+2

通过孩子节点找父节点:孩子节点为j

  子节点为左节点,父节点为:(j-1) / 2

  子节点为右节点,父节点为:(j-2) / 2

  不知道为左子节点还是右子节点: (j-1) // 2

代码:

def sift(li, low, high):
    '''
    向下调整
    :param li:
    :param low: 堆顶下标
    :param high: 堆中最后一个元素下标
    :return:
    '''
    tmp = li[low]
    i = low
    j = 2 * i + 1  # i, j 两个游标,初始i指向堆顶,j指向堆顶的左孩子
    while j <= high:   # 第二个结束循环的条件,没有孩子和tmp竞争i这个位置
        if j+1 <= high and li[j+1] > li[j]:  # 如果右孩子存在并且比左孩子大 j指向右孩子
            j += 1
        if li[j] > tmp:
            li[i] = li[j]  # 大的数往上调整
            i = j  # i指向下一个要调整的堆的堆顶
            j = 2 * i + 1  # j指向调整堆的堆顶的左孩子
        else:
            break  # 第一种循环退出情况,tmp比目前两个孩子都大
    li[i] = tmp  # i就是tmp要调整到的位置


def heap_sort(li):
    '''
    堆排序
    :param li:
    :return:
    '''
    # 1. 从列表构造堆,low的值和high的值
    n = len(li)
    # 子节点找父节点: low = (i-1)//2 --> (n-2)//2 --> n//2-1
    for low in range(n//2-1, -1, -1):
        sift(li, low, n-1)
    # 2. 挨个出数 利用原来的空间存储下来的值,但是这些值不属于堆
    for high in range(n-1, -1, -1):  # 或range(n-1, 0, -1)
        li[high], li[0] = li[0], li[high]  # 1.把最大的调下来 2.high对应的数调上去
        sift(li, 0, high - 1)  # 3.调整,high 往前移一个,low为0

3、归并排序

思路:

  假设现在的列表分两段有序,如何将其合成一个有序列表, 这个操作称为一次归并。

有了归并之后怎么用?

  分解 :将列表越分越小,直至分成一个元素

     终止条件:一个元素是有序的。

  合并:将两个有序列表归并,列表越来越大。

一次归并:

def merge(li, low, mid, high):
    '''
    归并
    :param li:
    :param low:
    :param mid:
    :param high:
    :return:
    '''
    i = low
    j = mid + 1
    li_tmp = []
    while i <= mid and j <= high:  # 两边都有数
        if li[i] <= li[j]:
            li_tmp.append(li[i])
            i += 1
        else:
            li_tmp.append(li[j])
            j += 1
    # i<=mid 和 j<=high 两个条件 只能有一个满足
    while i <= mid:
        li_tmp.append(li[i])
        i += 1
    while j <= high:
        li_tmp.append(li[j])
        j += 1
    # li_tmp 0~high-low 复制回li low~high
    for i in range(len(li_tmp)):
        li[low + i] = li_tmp[i]

分解合并:

def merge_sort(li, low, high):
    if low < high:  # 至少两个元素
        # print(li[low:high+1], '->', end=' ')
        mid = (low + high) // 2  # 分解
        # print(li[low:mid+1], li[mid+1: high+1])
        merge_sort(li, low, mid)  # 递归排序左边
        merge_sort(li, mid + 1, high)  # 递归排序右边
        # print(li[low:mid+1], li[mid+1: high+1], '->', end=' ')
        merge(li, low, mid, high)  # 一次归并 合并
        # print(li[low:high+1])

小结:

 


版权声明:本文为[清风_Z]原创文章
转载请带上:http://copyfuture.com/blogs-details/fb4e2b15b1a565c2fa81719e517cd5e3
或:https://www.cnblogs.com/zwq-/p/10864728.html


  1. 组态王设置寄存器地址方法以及采集频率的重要性
  2. 左宗棠为何被在军机处屡次被排挤?
  3. 此人遭明朝欺骗被捕,临死前怒出一语,谁想不久后就应了验
  4. 冲动并不一定是魔鬼,选择哈弗F7很坦然
  5. 晒娃就是向再当爸的郭富城叫板?霸气回怼网友的熊黛林,A爆了!
  6. 禁欲系买表必备攻略
  7. [Swift]LeetCode509. 斐波那契数 | Fibonacci Number
  8. 《绿皮书》我们都是害怕主动的孤独人
  9. 家中被劫130万财物4年后,安徽省交通厅厅长施平终被查
  10. 阳光城 | 林地主的阳光梦
  11. 使用Sharepoint Designer 无法打开站点提示错误403 forbidden
  12. 湖管看了要沉默!这笔交易直接断送了季后赛可能性?
  13. 特斯拉3.5万美元Model 3下月上市 股价盘后跌逾3%
  14. 从学生到社会银,我的两年记
  15. bzoj4289 Tax
  16. 美国汽车巨头全球降价,却对中国特殊处理!如今又拿中资去建厂?
  17. HDFS伪分布式安装部署操作-实操
  18. 10.JAVA-接口、工厂模式、代理模式、详解
  19. 不想买街车?这几款豪华品牌SUV了解一下
  20. 丹麦王子在妈妈文雅丽再婚时挺高兴,老爸再婚,都不会笑了
  21. 世界最大的清真寺,尚未完工为何全部倒塌?仅剩下312根柱子?
  22. 最胆大的小国家,向世界宣战,派200士兵打德国,四小时被占领
  23. editormd实现Markdown编辑器写文章功能
  24. Http会话的四个过程,选出一个不是的
  25. 使用.Net Core+IView+Vue集成上传图片功能
  26. NLP自然语言处理原理及名词介绍
  27. 2018年全球表面温度出炉,人类应该对气候变化负责。
  28. 湖人不敌篮网,连续6年无缘季后赛,詹姆斯最后时刻失误
  29. MySQL 上手教程
  30. JavaSE 异常抛光解析
  31. "芈氏飞刀"再添新变,弈客AI鹰眼指点迷津
  32. Splay 记录
  33. 【WPF】这可能是全网最全的拖拽实现方法的总结
  34. 美菲军演正酣,杜特尔特却力挺中国!首次透露一个秘密
  35. 拜仁败走安联,13年来首次无缘欧冠8强!三口大锅谁也逃不掉
  36. 穿越世界之巅的天路,横穿中国最美两大省,比318更霸道!
  37. 禽蛋种类多~吃法有讲究
  38. 02numpy
  39. 汪苏泷被爆牵手靳梦佳,为什么偏在这个时候认爱?
  40. 霍光对汉朝功勋盖世,后世为何评价他不学无术?
  41. 12306短信公众号上线:一站式查询多种信息
  42. 如何看Spring源码
  43. 股价大涨!微软市值破万亿美元
  44. 【虎牙天命SOLO王第二季】3月23日强势回归!
  45. 06 Zabbix4.0系统CISCO交换机告警模板规划信息(基础)
  46. 奔驰被逼无奈搬出了它,比Q5L还要长,奢华享受之余却表示养不起
  47. 花山谜窟 ——心存无解疑团又想一探究竟的地方
  48. Apache 基金会项目迁移到 GitHub
  49. 英国殖民印度200年,到底掠夺了多少财富?专家:一个天文数字
  50. 《惊奇队长》暴露复联最大秘密,局长尼克弗瑞竟然是斯克鲁人?
  51. 美团买菜上线北京市场 天通苑、北苑为测试区域
  52. 【访谈】巴特勒:老鹰打得很坚决,但我们仍然是一支很棒的球队
  53. 蒙古草原第三帝国——柔然汗国!
  54. 第十九章 ESP32 HTTP获取城市温度
  55. 《自然》双重磅:猎杀癌细胞基因名单发布
  56. 网友:只怪名字没起好大量新车堆积生锈,又一国产车要“崩盘”?
  57. 黄心颖偷食后遗症明显,多部作品将重拍,82岁老戏骨才最受牵连
  58. 想长寿就要少吃油?专家建议:吃这种油反而更营养!
  59. Java容器类源码解析前言之集合框架结构
  60. 缺了整整一类脑细胞,他的神经元集体“迷路”了
  61. 35名员工自杀身亡后,电信巨头Orange在法国受审
  62. iQOO手机销售火爆远超预期 明早十点全网再次开售
  63. 抗战遗脉——记十四年抗战后幸存下来的中国海军舰艇们(上)
  64. 三国成语故事:不计其数
  65. 微软发布Visual Studio 2019首个候选发布版
  66. 线程组ThreadGroup分析详解 多线程中篇(三)
  67. java120经典面试题
  68. Switch成功运行NGC《阳光马里奥》!视频演示公布
  69. 文明交流互鉴何以重要?习近平这篇讲话引人深思
  70. 正则表达式回顾
  71. 知乎上那些旅行糗事你有没有碰到过?原谅我笑点有点低!
  72. SpringCloud无废话入门01:最简SpringCloud应用
  73. webToImage (网页转图片)模块试用分享
  74. MySQL优化面试
  75. 互联网下半场,网络效应被稀释了?
  76. 从无人车到太空互联网 亚马逊斥数十亿美元投新技术
  77. 行业观察(一)| 从渠道为王到数据为王——浅谈服装零售企业的数字化转型
  78. 手机厂商重回千元机市场:稳规模 抢存量!
  79. 马斯克突访2号超级工厂 2019年太阳能产品产量或大增
  80. 又打“价格战”?滴滴美团亏损,因相互抢占市场?
  81. 体验全新宝马X5智能驾驶辅助系统:驾驶席上“坐”宝马
  82. 终端碎片化的时代与多端一体化开发体系的兴起
  83. 董卿:一个家庭的幸福,从好好说话开始
  84. 我的母亲,是个懦弱的母亲
  85. 为什么去了日本之后,我更珍惜在温哥华的生活
  86. 帝豪GS开了两年多,双离合可靠吗?听老司机咋说
  87. 治疗鼻炎最好的偏方大全 还怕鼻炎治不好?
  88. 章节十、8-XPath---如何构建有效的XPath
  89. 虎牙吃鸡天命杯:到嘴的鸡都能飞?连解说都吐槽操作太丢人!
  90. 探测火星的脚步,人类从未停止
  91. 硝酸甘油心脏病的救命药!有没有长效的硝酸甘油,保证心脏稳定?
  92. 2019年最全人生顺口溜,值得珍藏!
  93. 业绩股价双重遇挫 顺丰船大难掉头?
  94. 使用burpsuite抓取android流量
  95. 年赚百万的烧烤老板讽刺程序员,你们加班加点也挣不到100万!
  96. 打印n对括号的全部有效组合(左右括号正确匹配)Java实现
  97. vue路由对不同界面进行传参及跳转的总结
  98. 制药巨头强生为何愿意花34亿美元收购Auris?
  99. 超实用!最新青海甘肃住宿攻略!
  100. 茅台前董事长袁仁国:包场看《战狼2》 违规持有记者证4年

  1. Python开发:部分第三方库无法在线安装解决方法(949)
  2. [Swift]LeetCode325. 最大子数组之和为k $ Maximum Size Subarray Sum Equals k(779)
  3. Matlab 2019a 安装包下载以及安装和激活(719)
  4. 仅限Edge和Chrome访问 全新网页端Skype应用上线(686)
  5. 前端笔记之NodeJS(一)初识NodeJS&内置模块&特点(684)
  6. C#读取excel文件提示未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序(663)
  7. 【预警通告】Weblogic反序列化远程代码执行漏洞(640)
  8. Visual Studio 2019 正式发布,重磅更新,支持live share(599)
  9. 【预警通告】Apache Tomcat远程代码执行漏洞CVE-2019-0232(573)
  10. 网上赌博平台维护审核提不了款怎么办?(535)
  11. React 与 React-Native 使用同一个 meteor 后台(529)
  12. Sublime Text3 最新版3207 安装及破解(458)
  13. Visual Studio 2019 正式发布(389)
  14. [翻译] Visual Studio 2019: 极速编码. 智能工作. 创造未来.(388)
  15. 刘强东身边的CXO还有谁“幸存”(373)
  16. 舍命生子产妇吴梦丈夫怒斥:没抢肺源不是精神分裂,网友断章取义(371)
  17. Confluence SSRF及远程代码执行漏洞处置手册(370)
  18. 机器学习 ML.NET 发布 1.0 RC(369)
  19. 阿里巴巴2018年纳税516亿元 同比增40%(369)
  20. K8s集群安装--最新版 Kubernetes 1.14.1(338)
  21. 雷军清华演讲实录:小米9年的创新、变革与未来(333)
  22. 小米手机卖不动了?(327)
  23. F#周报2019年第14期(317)
  24. 积分一样却选手下败将出战国际赛,《最强大脑》云队选手被坑了?(300)
  25. 《最强大脑》要垮?桑洁魏坤琳出轨细节被扒,戚薇才是神助攻(257)
  26. 华电教授孙玉兵被指与昔日同学共同学术造假,多所高校调查(251)
  27. F#周报2019年第15期(249)
  28. 日本明仁天皇退位,日本“平成”年代结束(246)
  29. linux系统安装cdcfordb2udb(241)
  30. Oracle甲骨文大规模裁员,你背离时代就会被淘汰(240)
  31. 他联系叙恐怖分子“卖军火”,称能搞到2000枚导弹,关键时刻中国警察出手(237)
  32. 魔兽世界:8.15搏击俱乐部坐骑获取流程 鳄鱼布鲁斯坐骑(236)
  33. 针对django2.2报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 9737: ill....(235)
  34. 女友被曝插足许志安郑秀文婚姻 知情人透露马国明已下定决心分手(232)
  35. SQL简介及MySQL的安装目录详解(229)
  36. 为什么国内汽车用沥青阻尼片,而欧洲主机厂却用树脂?(229)
  37. 视觉中国深夜道歉:全面配合监管部门彻底积极整改(228)
  38. 谁是苏小明饭局爆粗偷拍者?知情人称另有其人(224)
  39. 迪玛希好惨!昨晚《歌手》为声入人心男团帮帮唱,却再被指控侵权(223)
  40. NodeJs之邮件(email)发送(222)
  41. 市值暴跌90%,世界零售巨头申请破产战胜了所有对手却输时代(221)
  42. 函数防抖,与函数节流(220)
  43. 机器学习基石笔记:01 The Learning Problem(217)
  44. 深度学习python的配置(Windows)(215)
  45. [深度应用]·实战掌握Dlib人脸识别开发教程(213)
  46. 许志安出轨视频系蓄谋偷拍?司机被曝收40万装红外摄像头(210)
  47. Google AI 系统 DeepMind 高中数学考试不及格(210)
  48. 干货!21部漫威电影观影顺序指南,在《复联4》之前赶紧补齐!(209)
  49. 赌命生子九个月后,吴梦离世:前半辈子任性了,我用生命买单(206)
  50. 威廉王子出轨凯特王妃闺蜜? 外媒称婚外情致兄弟反目(203)
  51. spring-cloud-sleuth+zipkin源码探究(203)
  52. WebGL three.js学习笔记 纹理贴图模拟太阳系运转(201)
  53. 新更新kb4493472导致无法正常开机(195)
  54. 杜敬谦死因疑曝光!或因他这一特殊的训练方式,泳迷高呼孙杨退役(191)
  55. AntDesign Form表单字段校验的三种方式(189)
  56. 韦杰落网,金诚集团终局(188)
  57. 华为推出方舟编译器 称可提升安卓系统效率(186)
  58. 山东庆云民企3000亩土地被贱卖 国企接盘拟转性(185)
  59. 《权力的游戏》龙妈有那么多爱她的人,为什么最终会选择琼恩雪诺(182)
  60. 张无忌为什么爱上她?陈钰琪版赵敏终于给答案了(181)
  61. “国防”靠美国? 韩国瑜=马英九2.0? 走着瞧(180)
  62. Python破解Wifi密码思路(180)
  63. 直认与老公感情淡了!27岁TVB上位女星:我们不是好熟(179)
  64. CUBA Studio 8.0 发布,企业级应用开发平台(179)
  65. 张丹峰出轨最新锤来了!毕滢的朋友圈简直刷新下限啊!(177)
  66. 拿着普通员工超300倍的工资裁员800人,这家游戏公司CEO引发员工不满|一周新闻(177)
  67. Github 上 Star 最多的个人 Spring Boot 开源学习项目(177)
  68. 币安称 4000 万美元比特币被盗(175)
  69. 使用 C 语言实现一个 HTTP GET 连接(175)
  70. AntD框架的upload组件上传图片时遇到的一些坑(175)
  71. 不要996!程序员创建955.WLB不加班公司名单,GitHub周榜第二(174)
  72. Codejam Qualification Round 2019(174)
  73. 《跃迁-成为高手的技术》之联机学习(173)
  74. Weblogic CVE-2019-2647等相关XXE漏洞分析(173)
  75. python爬虫重定向次数过多问题(172)
  76. simulink创建简单模型(172)
  77. 强大的jQGrid的傻瓜式使用方法。以及一些注意事项,备有相应的引入文件。(170)
  78. [NewLife.XCode]高级查询(168)
  79. Algolia使用教程 , 超详细傻子看都会(166)
  80. Delphi 开发微信公众平台 (二) 用户管理(165)
  81. 核心算法缺位,人工智能发展面临“卡脖子”窘境(165)
  82. 只需知道电话号码 即可监控任意一部手机,获取位置,太可怕(163)
  83. 范斯晶对祖母的称呼很意外,范志毅很心疼,缺少母爱的孩子不容易(162)
  84. 如何定位前端线上问题(如何排查前端生产问题)(162)
  85. 告诉你去越南芽庄必带回的好东西(161)
  86. 双双出轨!许志安劈腿马国明港姐女友,二人被拍16分钟激吻超20次(160)
  87. 数学家发现完美的乘法(160)
  88. 定义工作,解读自我——IT帮2019年2月线下活动回顾(160)
  89. 百度网盘下载神器 PanDownload v2.0.9(破解版、不限速)(159)
  90. 高管被警方带走背后:巧达科技操盘2亿人简历生意(159)
  91. 吹爆惠英红,《铁探》这位霸道总警司超带感!真乃港剧罕见大女主(156)
  92. vue生成图片验证码(156)
  93. 三国正史第一猛将:一人单挑数千人,不是吕布也不是关羽(154)
  94. 从0到1上线一个微信小程序(154)
  95. FreeSql 如何现实 Sqlite 跨库查询(154)
  96. 向佐的弟弟叫向佑,网友:那郭碧婷生的孩子叫什么?(153)
  97. [Node.js] 3、搭建hexo博客(153)
  98. spring-boot-2.0.3不一样系列之源码篇 - pageHelper分页,绝对有值得你看的地方(153)
  99. TensorFlow从1到2(十)带注意力机制的神经网络机器翻译(152)
  100. java基础(十五)----- Java 最全异常详解 ——Java高级开发必须懂的(152)

  1. MySQL 事务
  2. [Inside HotSpot] Serial垃圾回收器 (二) Minor GC
  3. 老婆举报医生老公“收药品回扣”:他出轨并要求离婚 官方已介入调查
  4. 实验吧简单的sql注入3
  5. 死磕 java同步系列之自己动手写一个锁Lock
  6. [NOI2006] 网络收费
  7. 线性基的小证明...
  8. 从语言设计的角度探究Java中hashCode()和equals()的关系
  9. C# 多线程小试牛刀
  10. Python基础:输入与输出(I/O)
  11. link-1-STL 标准模板库
  12. mysql--浅谈多表查询1
  13. 进击JavaScript核心 --- (1)基本数据类型
  14. 大数据技术之_24_电影推荐系统项目_07_工具环境搭建(具体实操)
  15. 前端限制显示的文本字数的几种方法——不换行与换行
  16. 【实验吧】该题不简单——writeup
  17. 反向传播算法
  18. =、==、===、equals()的区别
  19. GitHub 推出开发者赞助项目
  20. 剑指Offer的学习笔记(C#篇)-- 从上往下打印二叉树
  21. argparse 在深度学习中的应用
  22. 张云雷复出?西城区文旅局:德云社在辖区内演出未发现违法违规问题
  23. Maven安装与配置
  24. acWing 825. 排队购物
  25. ajax&&jquery
  26. 苏联攻击机的悲壮行动,明知德军战机拦截,仍在无护航状态下出击
  27. 华为的5G技术,源于这种数学方法
  28. 一站式自动化测试平台 http://www.Autotestplat.com
  29. RabbitMQ总结
  30. 第九组 通信3班 063 自反ACL
  31. 短线还有最后一跌?大V们表示:反弹近了!(5月23日)
  32. 第九组 通信3班 063 OSPFv2与OSPFv3综合实验
  33. C# IE选项 - 重置IE
  34. Spring_数据校验和自定义检验规则
  35. 谈谈Java的string为什么是不可变的
  36. OFFICE 365 A1 Plus账号注册
  37. 初学python—做一个数组的增删改查操作
  38. oc工程中oc、swift混编代码打包成静态framework踩坑笔记
  39. 阿里云推“智能秒停系统”:50秒内短信通知 再不怕吃罚单
  40. 今天购买了一个云服务器
  41. 神奇!乌鸦竟然会传达悲观和怀疑情绪 还会对同伴“冷嘲热讽”
  42. 数字IC设计入门必备——VIM自定义模板调用与VCS基本仿真操作示例
  43. 点击事件的坐标计算(client || offset) +(X || Width || Left) 各种排列组合别绕晕
  44. windows下dubbo-admin2.6.x之后版本的安装
  45. linux 之基本命令学习总结
  46. 传祺难续“传奇”?销量暴跌超4成 加价卖车被“断裂门”尽毁
  47. 香港豪门后宫持续曝光:他用选美比赛“选妃”,与几万女星交往
  48. 小窥React360——用React创建360全景VR体验
  49. Spring Boot 2 快速教程:WebFlux 集成 Mongodb(四)
  50. .Net Core下使用RabbitMQ比较完备的两种方案(虽然代码有点惨淡,不过我会完善)
  51. “80后”女博士已任团中央书记处书记
  52. 杨元庆:现在是联想的最好时刻 我们四大战役全部打了胜仗
  53. Java开发环境的搭建(JDK和Eclipse的安装)
  54. oracle学习笔记(十四) 数据库对象 索引 视图 序列 同义词
  55. 机构风向标:外资出逃超500亿 美的集团等白马股表现欠佳
  56. 跟踪记录ABAP对外部系统的RFC通信
  57. c++11多线程详解(一)
  58. 小蓝杯,跌破发行价了
  59. [NewLife.XCode]百亿级性能
  60. 33岁何洁商场走穴被曝光,路人镜头下的她与精修图差别好大
  61. 途牛第一季度净亏损2240万美元 同比亏损幅度扩大
  62. 00 | Two Sum
  63. 智能威胁分析之图数据构建
  64. 快速掌握RabbitMQ(二)——四种Exchange介绍及代码演示
  65. Neo4j 第六篇:Cypher语法
  66. Java微信公众平台开发(三)--接收消息的分类及实体的创建
  67. Java8 中的 Optional
  68. 如何显示超大图像(3)
  69. 贵州检察机关依法对袁仁国决定逮捕
  70. 有关xerospolit运行报错问题的有效解决方案
  71. ADO学途 one day
  72. Linux 中 ip netns 命令
  73. Python爬虫之设置selenium webdriver等待
  74. BSOJ1040 -- 【练习题目】美元DOLLARS
  75. 外媒:稀土是中国手中的一张王牌
  76. sql server添加sa用户和密码
  77. 深入理解JVM的类加载
  78. querySelector和getElementById之间的区别
  79. 简说设计模式——观察者模式
  80. 扰动函数和拉链法模拟HashMap的存储结构
  81. 东芝中国:“上海东芝公司”不存在 未停止与华为的合作
  82. 彭于晏马思纯主演张爱玲这部小说,却被说更适合演《骆驼祥子》?
  83. 停止向华为供货?东芝辟谣回应
  84. 云米第一季度净利润5310万元 同比增长68%
  85. 贪吃的古蛙,古生物学家发现亿年前两栖动物之间战争
  86. APICloud发布低代码开发平台 效率提升30%至60%
  87. Golang 读写锁RWMutex 互斥锁Mutex 源码详解
  88. shell初级-----数据呈现方式
  89. 白玉兰入围名单公布!《知否》《都挺好》上榜,还有这部豆瓣3分剧
  90. 深网 | 京东618接入快手、抖音 实现“即看即买”
  91. 解决 APP启动白屏黑屏问题
  92. Spring Cloud Hystrix理解与实践(一):搭建简单监控集群
  93. 浏览器与服务器通信技术——jsonp
  94. 【刷题笔记】LeetCode 606. Construct String from Binary Tree
  95. 央行副行长刘国强:应对汇率波动经验丰富,政策工具储备充足
  96. 部署Azure Log Analytics
  97. 计算机基础--http的基础整理和巩固
  98. 章子怡:女人四十,不止表面风光
  99. 直击|对话杨元庆:希望今年创最好盈利 要震慑住谣言
  100. 微软通过合作为美国270万农村退伍军人提供高速宽带服务