js难的是抽象概念

编程语言也能抽象

JS Python java PHP 根本就没区别

这些语言都有

  • 声名
  • if...else
  • while 循环 for 循环
  • 函数
  • 对象

这意味着

  • 你没有必要过分关注语言的细节
  • 你首先理解这些语言的不变之处
  • 以不变应万变

1,对编程的热爱---简洁之美

2,所有的编程逻辑,都在使用逻辑

  • 三段论逻辑
  • 命题1:js有7种数据类型:string,number,bool symbol undefined null object
  • 命题2js函数不属于前六种类型
  • 推论:js的函数属于object类型

命题1: js中所有函数都是由Function 构造的
命题2: Function,object,Arry 是函数
推论:Function ,object ,Array 是由 Function 构造的

逻辑VS 直觉

  • 直觉的好处
  • 直觉能让你快速学会一些东西
  • 比如数字,字符串,数组,对象都可以靠直觉学会
  • 直觉的坏处
  • 直觉却又能阻止你学会另外一些东西
  • 这时你就只能依靠逻辑来说服自己
  • 比如虽然不知Function 是如何构造Function的,但逻辑告诉我们,确实如此

如何用代码表示逻辑

  • 栗子
  • 输出两个数中较大一个数
  • 如果第1个数大于第二个数,就输出第1个数
  • 代码
  • a=[12,32]
  • if a.age(0)>a.get(1)
  • print a.get(0)
  • else
  • print a.get(1)

结论
用 if...else...可以表示逻辑---发现规律

栗子2

  • 输出N个数中最大的一个数
  • 找到第 1,2个数字中较大的那一个,存入max
  • 找到max和第3个数字中较大的那个,存入max
  • 找到max和第,,,个,存入max
  • max 就是最大的属

代码

  • a =[12,32,9,1,23,6]
  • max = a [0]
  • for i from 1 to a.length() -1
  • if a.get(i) max then max

结论
用for循环可以表示逻辑

只需要三种语句---[结构化编程] 理论*
但结构化编程在某些情况下回变得麻烦,比如错误处理

三种逻辑语句搞定所有编程逻辑

  • 顺序执行语句
  • 语句1
  • 语句2
  • 条件判断语句
  • if...then...else..
  • if...eles if ...else
  • 循环语句
  • while..do...
  • for i from 1 to n ....

流程图 , 伪代码的好处

  • 锻炼你的大脑
  • 你必须自己画出来
  • 不能运行在计算机里

整理你的思路

  • 思路乱,则图乱
  • 伪代码都写不好,则代码更写不好

两个数字找到较大的一个的流程图

n个数字找到较大一个的流程图

总结

  • 逻辑很重要
  • 用三种语句表达逻辑
  • 用图和伪代码表示三种语句

数据结构的作用

  • 数据结构作用
  • 提前记住一些结构
  • 这些结构很常见
  • 这些结构能让你很快理清思路
  • 这些结构面试经常问
  • 锻炼你得抽象能力
  • 一种数据结构往往能解决很多类似问题
  • 如果你选错了数据结构,你根本就不想出路
  • 牛逼的程序员更重视数据结构而,不是算法

8种排序算法快速学会数据结构

排序中减治法算法伪代码_【算法与数据结构】伪代码与流程图相关推荐

  1. 排序中减治法算法伪代码_算法浅谈——分治算法与归并、快速排序(附代码和动图演示)...

    在之前的文章当中,我们通过海盗分金币问题详细讲解了递归方法. 我们可以认为在递归的过程当中,我们通过函数自己调用自己,将大问题转化成了小问题,因此简化了编码以及建模.今天这篇文章呢,就正式和大家聊一聊 ...

  2. python快速排序算法循环_算法:快速排序的Python实现

    一.概述 快速排序(quick sort)是一种分治排序算法.该算法首先 选取 一个划分元素(partition element,有时又称为pivot):接着重排列表将其 划分 为三个部分:left( ...

  3. java减治法深度优先查找_排序|减治法实现排序

    总结一下排序嘿;) 有插入排序和拓扑排序. 1.插入排序/直接插入排序 假设对较小的数组A[0...n-2]已经排好序了,然后把A[n-1]找到一个合适的位置插进去.一般来说是从右向左扫描这个有序的数 ...

  4. 获取字符串中的.前面的长度_算法连载之求解不含有重复字符的最长子串长度...

    问题 给定一个字符串,找出其中不含有重复字符的最长子串长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc" ...

  5. 未能比较数组中的两个元素_算法3 寻找两个正序数组的中序数

    问题描述: 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组的中位数.要求设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题. ...

  6. java中printarray和selectsort方法_算法题(一)

    目录 1 左神部分集锦 2 Leetcode前150题 3 牛客网剑指offer 4 JavaG 5 题目中的细节处理 1 左神部分集锦 1.1 Code01_FindNumber_B_In_A 在有 ...

  7. 中删除某几列_算法--apriori 实战 (某零售企业的商品关联分析)

    先别着急看案例,先看一下下面这段话喽,希望对大家有帮助 当上级给大家类似这样一个分析需求时,即使不会也不要着急,冷静的想一下,如果你是老板你是领导,你想要看什么:可以理解为拿到的数据就是这个超市的所有 ...

  8. 退火算法 贪婪算法_算法贪婪策略简介

    退火算法 贪婪算法 介绍 (Introduction) The solution is determined by a sequence of steps each step has given a ...

  9. 求n的阶乘的算法框图_算法|从阶乘计算看递归算法

    欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 1 理解递归 "程序设计是实践计算机思维的重要手段& ...

最新文章

  1. DRF工程搭建、环境安装与配置
  2. 精心分享8个特别实用,但又鲜为人知的软件
  3. C++获取当前进程的进程号方法
  4. 转载:JSON技术的调研报告(四种常见的JSON格式对比及分析)
  5. 更改Mysql数据库存储位置的具体步骤
  6. 【youcans 的 OpenCV 例程200篇】117. 形态学操作之顶帽运算
  7. springboot ServletContextListener接口
  8. java-将xlsx(excel)文件转换成json
  9. play另一个模板japid
  10. [UI] 精美UI界面欣赏[4]
  11. 离散数学第六版第er章偶数题答案_离散数学答案(尹宝林版)第二章习题解答
  12. 玩转STM32(4)学会目录分类
  13. scree 中的几个内置对象
  14. 为Web登陆添加验证码功能
  15. Scratch编程与游戏:大鱼吃小鱼!
  16. 电机驱动电路之H桥基本知识---Trinamic电机驱动芯片
  17. python办公自动化:让PyAutoGUI来帮你干活---实践版
  18. 电大 学位英语 计算机 资料,电大学位英语资料整理完整
  19. css 多文件上传框美化
  20. 四川高考30000多名学计算机哪个学校好,恭喜!四川省有32名学霸被保送到清北,分别来自四所重点中学...

热门文章

  1. mysql布隆过滤器源码_布隆过滤器(Bloom Filter)的原理和实现
  2. 538. Convert BST to Greater Tree
  3. 【iOS工具】rvm、Ruby环境和CocoaPods安装使用及相关报错问题解决(2016 12 15 更新)...
  4. Tomcat自定义Http错误信息
  5. MySQL基础篇:事务管理
  6. 陌陌安全开源了 Java 静态代码安全审计插件
  7. 你正在用的API网关,真的起到了它该有的作用?
  8. 面向领域的微服务架构
  9. 一个思维习惯,让你成为架构师
  10. 为了控制Bean的加载我使出了这些杀手锏