前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法刷题起航,帮你走向下一个巅峰!

算法刷题起航,帮你走向下一个巅峰!

作者头像
double
发布2020-05-26 14:56:41
4190
发布2020-05-26 14:56:41
举报
文章被收录于专栏:算法channel

先说一个题外话,昨天收到微信公众号通知,邀请我参与个人认证。提交后公众号很快核实并通过我的申请,下面是认证后的公众号显示,欢迎去围观:

算法刷题 Day1

作为算法刷题起航篇,我们有必要先做一个背景介绍,照顾一下算法入门的朋友。

一、 学习算法需要什么基础

  1. 至少熟悉一门编程语言 c, c++, python, java等, 推荐 Python,入门简单
  2. 不需要任何算法基础
  3. 需要强大的毅力:做到不折不挠
  4. 养成喜欢总结的习惯

二、 算法入门参考资料

  1. 书籍:算法图解
  2. 书籍:大话数据结构
  3. 书籍:数据结构和算法分析 - C 语言描述
  4. 书籍:妙趣横生的算法
  5. 免费的,算法可视化动画演示:(强烈推荐) https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

三、 算法进阶参考资料

  1. 书籍:算法导论
  2. 书籍:编程珠玑
  3. 两本极好的外文PDF:免费开源, 已上传到知识星球里

四、 算法入门最基本思路

  1. 学习数据结构:先了解典型的几种数据结构,数组、链表必备,建立意识:算法与数据结构紧密联系
  2. 算法,先从基础的算法开始,通常是排序算法,学会算法的评价指标
  3. 入门学习参考视频:油管上已经播放100万次+:https://www.youtube.com/watch?v=bum_19loj9A&t=50s

五、 今日刷题 1

学会冒泡排序算法

文章参考:https://stackabuse.com/bubble-sort-in-python/

作业:写出冒泡的代码,并上传到知识星球里,详见下面介绍。

算法刷题 1:精通冒泡排序

对于大多数人来说,冒泡排序可能是他们在计算机科学课程中听说的第一种排序算法。

它高度直观且易于“转换”为代码,这对于新软件开发人员而言非常重要,因此他们可以轻松地将自己转变为可以在计算机上执行的形式。

但是,Bubble Sort 是在每种情况下性能最差的排序算法之一。但是,排序算法也不是一无是处,检查数组是否已排序,它通常优于快速排序等更有效的排序算法。

Bubble Sort 背后的想法非常简单,我们查看数组中相邻的成对元素一次查看一对。

如果第一个元素大于第二个元素,则交换它们的位置,否则将它们继续移动。

让我们看下面这个冒泡排序的整个实现过程:

实现

借助可视化功能,让我们继续实施算法。想办法补全如下代码:

代码语言:javascript
复制
def bubble_sort(our_list):
  # 写出你的代码
  # 补充完整
  return our_sorted_list

如果你搞不定,请参考下面文章:

https://stackabuse.com/bubble-sort-in-python/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 算法刷题 Day1
  • 一、 学习算法需要什么基础
  • 二、 算法入门参考资料
  • 三、 算法进阶参考资料
  • 四、 算法入门最基本思路
  • 五、 今日刷题 1
  • 算法刷题 1:精通冒泡排序
  • 实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档