读书不记录=没读,始终是我的信条·····最近因为要参加竞赛,发现自己真的差的很远,所以打算重新开始学习一遍算法及AI的相关数学知识,相信很多人都是闻数学,理工科色变,之前也是觉得上数理课太难了,真的很枯燥乏味,所以希望能通过自己的学习,把这些内容尽量简化的传递给一些朋友,大家一起加油鸭!

我第一遍学算法的时候主要是想搞懂一些基本概念,不然连文献都不知道在讲些什么,后来发现想要好好做研究,必须要扎实的掌握这些内容,so。开始

算法的重要性:算法是一个程序的灵魂·······我们现在能在能够这么方便的上网,检索问题,都是在各种算法优化的基础之上的,不管是计算机的硬件还是软件,都离不开算法的精妙设计。也是全世界工程师都在努力突破的问题。

算法的解释:主要是一组完成任务的指令,主要解决的问题就是提升速度,减少复杂度,尽可能高效的处理计算机程序中的复杂任务。

实现算法的语言:任何一种语言都能执行算法(针对没有基础的小白,可以选择自己喜欢的语言去做实验)。

算法难度:需要具备基本的代数知识,比如y=f(x)。

第一部分:二分查找;

比如说完猜数字游戏,对方给出1到100个数字,如果普通的猜法,就是从1数到100,总会才对,但是要猜100次,花费很多时间。二分法就是直接从50开始对半猜,这样只需要七次就能猜中了100→50→25→13→7→4→2→1(最多步,可能用不了这些。)不管是哪个数字,7次之内都能猜到,哈哈是不是很神奇。 可能这个例子不够特别突出二分查找的优势,但是换成大量数据的时候就能体现出来它的快速和简洁。 但前提是列表或者数据是按顺序排列的时候,这种方法会比较管用。

这里计算的一个重要公式是 :假如有n个元素的列表,用普通方法需要n步解决,但是二分方法最多需要

步。

比如有1024个元素时候,普通的查法最多需要1024次,但是

即查找10次就可以了 因为

log函数在算法设计中经常遇到,对数也就是幂运算的逆运算,所以这部分需要补课的胖友们随用随查就好。

今天是算法复习的第一天,也对以前没弄懂的一些东西理解深入了一点,希望后面自己能坚持下来,也希望刚入门的新手朋友能看明白这份简易的,教程。C语言代码或者Python的代码比较多,大家可以百度搜二分查找,用自己喜欢的代码尝试一下。 今天份的学习结束啦~

有一个python版本的连接可以参考:python实现二分查找 - 龙云飞谷 - 博客园

感谢博主的分享!

参考书:《算法图解》Aditya Bhargava著

c语言二分法查找一个数_算法简解-二分查找相关推荐

  1. c语言二分法查找一个数_算法竞赛小专题系列(1):二分法、三分法

    本系列是这本算法教材的扩展资料:<算法竞赛入门到进阶>. 罗勇军.郭卫斌. 清华大学出版社 二分法和三分法是算法竞赛中常见的算法思路,本文介绍了它们的理论背景.模板代码.典型题目. 1. ...

  2. C语言——二分法查找一个数_数组

    C语言--二分法查找一个数_数组 问题描述: 针对一个按顺序排列的一维数组,用户输入一个数,如何辨别它是否存在?是数组中的第几位? 编程思想: 采用二分法,以最中间的数和用户输入的数进行比较,逐步缩小 ...

  3. 数据结构 | 折半查找 /二分查找 算法细节、二分查找判定树

    一.基本思想 假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功:否则利用中间位置记录将表分成前.后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步 ...

  4. c语言分蛋糕均匀正方形,分蛋糕(C - 二分查找)

    分蛋糕 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=85904#problem/C Description My birthd ...

  5. java 寻找和为定值的多个数_算法笔记_037:寻找和为定值的两个数(Java)

    1 问题描述 输入一个整数数组和一个整数,在数组中查找两个数,满足他们的和正好是输入的那个整数.如果有多对数的和等于输入的整数,输出任意一对即可.例如,如果输入数组[1,2,4,5,7,11,15]和 ...

  6. java 二分搜索获得大于目标数的第一位_程序员数据结构算法编程,二分查找搜索算法的原理与应用介绍!...

    本文来讲一种搜索算法,即二分搜索算法,通常在面试时也会被问到. 我们先来看一个例子,在图书馆通常是根据查到的编号去找书,可以在书架上按顺序一本本地查找,也可以找到一本书不符合预期时,再跳过一大部分书再 ...

  7. problem k: 查找某一个数_quot;细节魔鬼quot; 二分查找

    ❝ 二分查找,是一个高效,实用,且易理解的一个查找算法, 通常时间复杂度为O(lgn).局限性在于,待查找对象必须为有序的数组:数据量过小,优势不明显,数据量过大,数组大小受限于内存. 除此之外,二分 ...

  8. 常用十大算法 非递归二分查找、分治法、动态规划、贪心算法、回溯算法(骑士周游为例)、KMP、最小生成树算法:Prim、Kruskal、最短路径算法:Dijkstra、Floyd。

    十大算法 学完数据结构该学什么?当然是来巩固算法,下面介绍了十中比较常用的算法,希望能帮到大家. 包括:非递归二分查找.分治法.动态规划.贪心算法.回溯算法(骑士周游为例).KMP.最小生成树算法:P ...

  9. 大前端算法入门之二分查找

    现如今面试大厂的前端岗位对于应聘者的算法技巧要求越来越高,现在的前端已经不仅仅是制作页面就能够交差的,所以掌握算法技巧是很重要的,下面小千就来给大家介绍一个二分查找算法. 二分查找 所谓的算法都不是直 ...

最新文章

  1. 3DMAX 批量 场景 对象 导出 .X格式 脚本
  2. python计算特征的统计值并文本输出
  3. java启动无线网络连接_在无线模式存在的情况下,如何连接无线网络
  4. 【IntelliJ IDEA系列】IDEA编译方式介绍及编译器的设置和选择
  5. 《逻辑与计算机设计基础(原书第5版)》——3.9 二进制加法器
  6. TCP/IP 中的二进制反码求和算法
  7. AR Software
  8. ffmpeg优化mp4以及hls参数设置
  9. 什么是简单的分析SQL注入漏洞
  10. 微信小程序有关于Linux的吗,微信小程序可以跳转到手机 app 啦!
  11. 鸿蒙3.0系统下载,鸿蒙os3.0系统官网版-华为鸿蒙os3.0下载官网手机版-66街机网
  12. python 调用bat失败_死机、卡顿、蓝屏,Python部门的老江湖告诉我的一些超级变态代码...
  13. githut配置完ssh后,Host key verification failed.
  14. 全网M1、MAC傻瓜式免费安装xmind
  15. 操作系统语言包在c盘哪里,win10系统通过卸载语言包释放c盘空间的具体教程
  16. Android UI个性style
  17. 阿里云域名购买流程和备案流程
  18. 如何提高游戏后台数据查找效率
  19. puzzle(0122)网格一笔画
  20. mysql语句添加、删除索引(转)

热门文章

  1. 第六章 Web开发实战1——HTTP服务
  2. windows配置xhprof,PHP性能分析工具
  3. Bug本地接口不返回数据 线上返回数据
  4. PHP的microtime
  5. python画统计图怎么在右上角表示哪条线代表什么_Python-matplotlib统计图之箱线图漫谈...
  6. 逻辑错误有哪些c语言,c语言程序,现在出现逻辑错误,哪位高手指点下啊。。。...
  7. python制作中秋贺卡_中秋节到了,送你一个Python做的Crossin牌“月饼”
  8. java中索引超出怎么办_Java-字符串索引超出范围异常“字符串索引超出范围”
  9. JVM学习笔记(四)
  10. java守护线程和用户线程