#!/usr/bin/env python # -*- coding:utf-8 -*- def make_sum(a, b): return ['+', a, b] def make_prod(a, b): return ['*', a, b] def make_diff(a, b): return ['-', a, b] def make_div(a, b): return ['/', a, b] def is_basic_exp(a): return not isinstance(a, l…
数据结构之 栈 (Python 版) -- 利用线性表实现栈 栈的特性: 后进先出 基于顺序表实现栈 class SStack(): ''' 基于顺序表 实现的 栈类 ''' def __init__(self): self._elems = [] def is_empty(): return self._elems == [] def top(self): if self._elems == [] : raise StackUnderflow(" in Stack.top . ")…
数据结构之线性表(python版) 单链表 1.1  定义表节点 # 定义表节点 class LNode(): def __init__(self,elem,next = None): self.elem = elem self.next = next_ 1.2  单向链表 # LList 类的定义 单链表 (单向) class LList(): def __init__(self): # 这里并没有继承 LNode类 在加入数据时候引用了 LNode类 self.head = None def…
数据结构之队列(Python 版) 队列的特点:先进先出(FIFO) 使用链表技术实现 使用单链表技术,在表首尾两端分别加入指针,就很容易实现队列类. 使用顺序表list实现 # 队列类的实现 class SQueue() : def __init__(slef,init_len = 8) : self._len = init_len # 存储区长度 self._elems = [0] * init_le # 元素存储 self._head = 0 # 表头元素下标 self._num = 0…
栈应用之 后缀表达式计算 (python 版) 后缀表达式特别适合计算机处理 1.  中缀表达式.前缀表达式.后缀表达式区别  中缀表达式:(3 - 5) * (6 + 17 * 4) / 3 17 * 4 + 6 前缀表达式:/ * - 3 5 + 6 * 17 4 3 * 17 4 + 6 后缀表达式:3 5 - 6 17 4 * + * 3 / 17 4 * 6 + 2. 算法核心 假定 st 是一个栈 (栈的特点:后进先出 LIFO) 比如 [3 / 5] 即 [3 5 / ]: 3 先…
之前我分享过一个数据结构与算法的课程,很多小伙伴私信我问有没有Python版. 看了一些公开课后,今天特向大家推荐北京大学的这门课程:<数据结构与算法Python版>. 课程概述 很多同学想要转行机器学习,也确实掌握了一些机器学习模型原理并具备基础的编程功底,但是在笔试.面试的时候还会掉链子,大概率是数据结构和算法知识薄弱.数据结构和算法是程序员的内功心法和基本功.无论是人工智能还是其它计算机科学领域,掌握扎实的数据结构和算法知识,往往会助力不少! 北京大学公开课<数据结构与算法Pyth…
在我写的这本书,<基于股票大数据分析的Python入门实战(视频教学版)>里,用能吸引人的股票案例,带领大家入门Python的语法,数据分析和机器学习. 京东链接是这个:https://item.jd.com/12868774.html​ 在本文里,就将通过截图,详细展示本书给出的若干案例,这些案例的代码,均在本书里. 1 用爬虫得到股票数据的效果图…
学习来源 北京大学-数据结构与算法Python版 目标 了解计算机科学.程序设计和问题解决的基本概念 计算机科学是对问题本身.问题的解决.以及问题求解过程中得出的解决方案的研究.面对一 个特定问题,计算机科学家的目标是得出一个算法(algorithm) ,写出一组解决该问题可能出现的任何情况的步步为营的指令.算法通过有限过程解决问题.算法是解决方案. 计算机科学可以被看作是对算法的研究. 可计算 抽象 理解什么是"抽象"以及抽象在问题解决过程中的作用 定义 抽象使我们能以一种区分所谓的…
顺序表python版的实现(部分功能未实现) #!/usr/bin/env python # -*- coding:utf-8 -*- class SeqList(object): def __init__(self, max=8): self.max = max #创建默认为8 self.num = 0 self.date = [None] * self.max #list()会默认创建八个元素大小的列表,num=0,并有链接关系 #用list实现list有些荒谬,全当练习 #self.las…
二元表达式 x,y=4,3if x>y: s = yelse: s= x print s   x if x<y else y 三元表达式: >>> def f(x,y): return 1 if x>y else -1 #如果x大于y就返回x-y的值 ,否则就返-1>>> f(3,4) #3小于4 , 返回-1-1>>> f(4,3) #4大于3,返回11 >>> "Fire" if True e…