《数据结构与算法》实验:线性结构及其应用——算术表达式求值

《数据结构与算法》实验和课程Github资源  

《数据结构与算法》实验:线性结构及其应用——算术表达式求值

《数据结构与算法》实验:树型结构的建立与遍历

《数据结构与算法》实验:图结构的建立与搜索

《数据结构与算法》实验:查找结构的实验比较——二叉查找树BST & 二分(折半)查找

《数据结构与算法》实验:排序算法实验比较——选择排序 & 堆排序

《数据结构与算法》实验报告

学生姓名

郭茁宁

院(系)

计算机科学与技术

  

1183710109

 

软件工程

实验时间

2019年11月8 日(周五)

实验地点

格物213室

实验项目

实验1/4:线性结构及其应用

实验目的:将课程的基本原理、技术和方法与实际应用相结合,训练和提高学生组织、存储和处理信息的能力,以及复杂问题的数据结构设计能力和程序设计能力,培养软件设计与开发所需要的实践能力。

实验要求:灵活运用基本的数据结构和算法知识,对实际问题进行分析和抽象;结合程序设计的一般过程和方法为实际问题设计数据结构和有效算法;用高级语言对数据结构和算法进行编程实现、调试,测试其正确性和有效性。

实验题目2/2:算术表达式求值

一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。假设操作数是正整数,运算符只含加减乘除等四种运算符,界限符有左右括号和表达式起始、结束符“#”,如:#(7+15)*(23-28/4)#。引入表达式起始、结束符是为了方便。设计一个程序,演示用算符优先法对算术表达式求值的过程。

  1. 从文本文件输入任意一个语法正确的中缀表达式,显示并保存该表达式。
  2. 利用栈结构,把上述中缀表达式转换成后缀表达式,显示栈的状态变化过程和所得到的后缀表达式。
  3. 利用栈结构,对2)形成的后缀表达式进行求值,显示栈的状态变化过程和最终结果。
  4. 将操作数类型扩充到实数、扩充运算符集合,并引入变量操作数,来完成表达式求值。

数据结构定义:

Class Stack:栈

lv:运算符等级字典

vals:变量等级字典

算法设计与分析(要求画出核心内容的程序流程图):

流程图:

《数据结构与算法》实验:线性结构及其应用——算术表达式求值_第1张图片

问题分为以下三个子问题:

  1. 处理字符串:需要将字符串分解成多个子元素,包括数字、括号、运算符。其中括号和运算符都是单个字符,只要加上单个字符判断即可;数字则可能是带小数点的多位实数,我将小数点’.’也认为是数字,也就是说,每次检测到非括号且非运算符的情况,截取字符均为’0123456789.’中之一最大子串,转换为实数类型存储在列表中。最后得到一个包括数字、括号、运算符的列表。例如:['5.0', '*', '(', '1.2', '-', '6.3', ')', '/', '3.4', '+', '(', '1.6', '-', '0.8', ')', '*', '3.2']
  2. 转换表达式:表达式被拆分后,用新的列表str_list来进行中缀表达式到后缀表达式的转换。首先将符号的等级数字化,例如:lv={'(':5,')':0,'#':1,'+':2,'-':2,'*':3,'/':3,'^':4},然后进行入栈出栈操作:列表指针指向的元素若为数字则不入栈,直接存入ans_str作为答案,若为运算符或括号则通过有限次出栈操作保持栈内符号等级严格单调上升,出栈元素依次加入答案,再把当前元素入栈,并清洗原栈。
  3. 计算值:后缀表达式的列表中,转化为一个双向队列,从队头往队尾遍历,若队头指针指向的是运算符,则从队头出队两个元素,并依据运算符类型进行计算后得出值再从队头入队,最后将指针后移,循环操作。队空是,队尾指针指向的元素即为最后答案。

 

插入附加功能:

  1. 扩展实数集:将小数点纳入数字范围,在“处理字符串”环节中进行判断更改即可;并在列表存储时用实数类型存储、运算,输出保留两位小数。
  2. 引入运算符:我的程序引入指数‘^’运算符,指数运算优先于乘除,所以我将其等级标记为4。在“处理字符串”和环节时判断,之后就能与其他运算符操作大同小异,不必额外讨论。
  3. 设置自变量:我的程序支持根据现代变量命名标准的变量名,即第一个字符为字母,第二个字符及以后支持下划线和数字。此外,设置vals字典用于查询重复变量(避免重复输入数值),要求用户在交互界面依次输入变量的值(支持实数),在“处理字符串”和“转换表达式”环节加入元素首字符识别,在“计算值”环节把自变量代入数值来进行求值。

实验测试结果及结果分析:

《数据结构与算法》实验:线性结构及其应用——算术表达式求值_第2张图片

测试结果:全对,非常稳定,不惧怕任何强数据

结果分析:每个数据,首先输出预处理的列表,再输出中缀表达式,然后若有自变量则要求用户输入值,最后计算答案

问题及解决方法:

我已流畅解决实验要求,没有问题,具体解决方案详见上文。现对实验测试数据提出问题:

  1. 题目中“引入实数集”没有在测试中体现,测试数据中都是整数;
  2. 题目中“引入运算符号”也没有在数据中体现,我的程序中引入了指数’^’运算符;
  3. 题目中“引入自变量”,数据不够完善,不能检测一些错误,包括:未处理变量重复出现引发的错误、变量名不仅仅只是一个字母;

源程序名称:Lab-1.2.py

注意:正文文字为宋体小4号,图中文字为宋体5号。行距为多倍行距1.25。

      源程序与此报告打包提交,压缩包采用学号命名。

import os
class Stack(object):
    def __init__(self): self.stack=[]
    def push(self,val): self.stack.append(val)
    def pop(self):
        if (not self.empty()): return self.stack.pop()
    def empty(self): return bool(not self.stack)
    def top(self):
        if (not self.empty()): return self.stack[-1]

NUM='0123456789.'
ops='+-*/^'
lv={'(':5,')':0,'#':1,'+':2,'-':2,'*':3,'/':3,'^':4}
chs=[chr(i) for i in range(97,123)]
vals={}

def Shift(str_list):
    sta=Stack()
    ans_str=[]
    for x in str_list:
        if (x[0] in NUM or x[0] in chs):
            ans_str.append(x)
        else:
            while (not sta.empty() and (sta.top() in ops) and lv[x]<=lv[sta.top()]):
                ans_str.append(sta.pop())
                if (ans_str[-1] in '()#'): ans_str.pop()
            sta.push(x)
            if (x!='('):
                while (not sta.empty() and (sta.top() not in ops)): sta.pop()
    while (not sta.empty()):
        ans_str.append(sta.pop())
        if (ans_str[-1] in '()#'): ans_str.pop()
    return ans_str

def op(x2,x1,op):
    if   (op=='+'): return x1+x2
    elif (op=='-'): return x1-x2
    elif (op=='*'): return x1*x2
    elif (op=='/'): return x1/x2
    elif (op=='^'): return x1**x2

def Calc(shift_list):
    ans_num=[]
    for x in shift_list:
        if (x in ops):
            ans_num.append(op(ans_num.pop(),ans_num.pop(),x))
        else:
            if (x[0] in chs):
                ans_num.append(float(vals[x]))
            else:
                ans_num.append(float(x))
    return round(ans_num[0],2)

fin=open("D:\\GZN\\HIT\\个人文件\\数据结构与算法\\Lab1\\test.txt","r")
for str1 in fin:
    s=str1.strip()
    str_list=[]
    s_len=len(s)
    i=0
    j=1
    while (i<=j and j
leetcode算法数据结构
                        
1.力扣977:有序数组的平方1.1题目:给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]示例2:输入:nums=[-7,-3,2,3,11]输出:[4,9,9,49,
  • 数据结构与算法 python实现单链表实现对列 我只要一发 python数据结构与算法Python实现单链表实现对列
    对列:先来的先走,后来的后走FIFO实现FIFO的实现数据结构:arroylistlinkedlistdoubllinkedlist最基本的操作,push入列pop出列单链表实现appendpopleftclassFullError(Exception):passclassEmptyError(Exception):passclassQueue(object):def__init__(self,m
  • 周四 2020-01-09 08:00 - 24:30 多云 02h10m 么得感情的日更机器
    南昌。二〇二〇年一月九日基本科研[1]:1.论文阅读论文--二小时十分2.论文实现实验--小时3.数学SINS推导回顾--O分4.科研参考书【】1)的《》看0/0页-5.科研文档1)组织工作[1]:例会--英语能力[2]:1.听力--十分2.单词--五分3.口语--五分4.英语文档1)编程能力[2]:1.编程语言C语言--O分2.数据结构与算法C语言数据结构--O分3.编程参考书1)陈正冲的《C语
  • github源码指引:共享内存、数据结构与算法:树形结构ListTree 初级代码游戏 github源码指引共享内存数据结构与算法github共享内存链表
    初级代码游戏的专栏介绍与文章目录-CSDN博客我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。专题:共享内存、数据结构与算法_初级代码游戏的博客-CSDN博客本文讲解带有子项的链表。一、介绍与上一篇介绍的单向链表相比,多了一个子项指针。可以理解为原来的链表是兄弟关系,
  • 代码随想录+力扣刷题记录+华为机考准备记录 梁慢慢慢慢 leetcode算法数据结构
    为了准备华为机考的刷题记录,已压线过背景:数据结构与算法零基础,此前没有刷过题,会Python。学习路线按照代码随想录的顺序刷题,刷题平台:力扣以上大致过了一遍后开始刷华为机考真题(cdsn上购买的真题,刷题平台是购买的真题中的OJ平台,也是ACM模式)总共用时1个月。完成情况:力扣80个题+华为2024年机考真题。大部分题目都只做过1次,掌握得很不牢固,机考的时候也是压线过。时间比较紧急,做到后
  • “八股文”在程序员面试中的价值:助力还是阻力? 精神阿祝 尝鲜面试职场和发展
    文章目录引言1.什么是“八股文”?2.“八股文”的支持者观点2.1理论基础的重要性2.2规范与标准化2.3应对突发问题3.“八股文”的反对者观点3.1实战经验的重视3.2忽视创新与灵活性3.3学习成本与心理压力4.八股文的具体内容分析4.1数据结构与算法4.1.1数据结构的重要性4.1.2算法的应用4.2系统设计4.2.1系统的架构设计4.2.2高并发处理4.3编程语言基础4.4框架与工具的使用5
  • 邓俊辉数据结构与算法学习笔记-第五章 xiaodidadada 数据结构与算法
    文章目录树aa1树a2应用a3有根树a4有序树a5路径a6连通图无环图a7深度层次b在计算机中表示b1树的表示b2父节点b3孩子节点b4父亲孩子表示法b5长子兄弟表示法c二叉树c1二叉树概述c2真二叉树c3描述多叉树d二叉树d1BinNode类d2BinNode接口d3BinTree类d4高度更新d5节点插入e相关算法e1-1先序遍历转化策略e1-2遍历规则e1-3递归实现e1-4迭代实现e1-5
  • 【数据结构与算法 | 每日一题力扣篇】 Vez'nan的幸福生活 leetcode算法职场和发展
    1.力扣3174:清楚数字1.1题目:给你一个字符串s。你的任务是重复以下操作删除所有数字字符:删除第一个数字字符以及它左边最近的非数字字符。请你返回删除所有数字字符以后剩下的字符串。示例1:输入:s="abc"输出:"abc"解释:字符串中没有数字。示例2:输入:s="cb34"输出:""解释:一开始,我们对s[2]执行操作,s变为"c4"。然后对s[1]执行操作,s变为""。提示:1deque
  • 【数据结构与算法 | 基础篇】模拟LinkedList实现的链表(无哨兵) Vez'nan的幸福生活 java数据结构算法
    1.前言我们将LinkdList视作链表,底层设计了内部类Node类,我这里依然没有用到泛型,其实加上泛型依然很简单,即将Node节点的数据域的类型由Int转换为E(),我在此不做赘述.同时实现了增删查改,遍历等操作.2.链表(无哨兵)的代码实现publicclassLinkListTestimplementsIterable{//头指针staticNodehead;//内部类privatesta
  • 数据结构与算法Day25----字符串匹配(一):借助哈希算法实现 墨殇染泪
    一、主串和模式串:  假设在字符串A中查找字符串B,那字符串A就是主串,字符串B就是模式串。把主串的长度记作,模式串的长度记作。因为是在主串中查找模式串,所以。二、暴力匹配算法/朴素匹配算法/BF(BruteForce)算法:1、算法思想:  在主串中,检查起始位置分别是0、1、2···且长度为的个子串,看有没有跟模式串匹配的。2、图示:3、时间复杂度:  在极端情况下,每次都比对个字符,要比对次
  • Java学习 - 数据结构与算法 - 有序数组去重详解 泡芙萝莉酱 Javajava学习开发语言算法数据结构
    问题给定一个有序数组,要删除数组重复出现的元素,使得每个元素只出现一次,然后返回移除重复数组后的新长度;示例:假设给定一个数组nums=[1,2,4,4],删除重复出现的元素4后,原数组变成nums=[1,2,4],此时新的数组长度为3;解决思路数组原地操作数组原地操作,此时无需创建新的数组,只需要在原来的数组上操作即可。相当于首先要找到数组中重复的元素,然后将重复的元素移除,此时就涉及到数组中的
  • 4. 数据结构与算法:双端队列- sszhang
    双端队列(deque,全名double-endedqueue)是一种具有队列和栈性质的线性数据结构。双端队列也拥有两端:队首(front)、队尾(rear),但与队列不同的是,插入操作在两端(队首和队尾)都可以进行,删除操作也一样。deque()创建双端队列addFront(item)向队首插入项addRear(item)向队尾插入项removeFront()返回队首的项,并从双端队列中删除该项r
  • github源码指引:共享内存、数据结构与算法:字符串池StringPool 初级代码游戏 github源码指引共享内存数据结构与算法github共享内存字符串池
    初级代码游戏的专栏介绍与文章目录-CSDN博客我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。专题:共享内存、数据结构与算法_初级代码游戏的博客-CSDN博客本文讲解字符串池的示例代码。字符串池是一个特殊的结构,用来减少重复的字符串存储(现实系统中会存在大量重复的字符
  • 数据结构与算法之哈希表(C语言版) jiangzhangha 算法与数据结构学习笔记算法哈希表
    title:数据结构与算法之哈希表(C语言版)date:2020-07-1921:05:15categories:数据结构与算法tags:-数据结构-算法-哈希表-c数据结构与算法之哈希表(C语言版)哈希表支持一种最有效的检索方法:散列。由于计算哈希值和在数组中进行索引都只消耗固定的时间,因此哈希表最大的亮点在于其是一种运行时间在常量级别的检索方法。绝大多数的哈希函数会将一些不同的键映射到表中相同
  • 数据结构与算法关系(中):如何评判一个算法的好坏 MobotStone
    大家好,我是MicroStone,一个曾在三家世界500强企业担任要职的一线互联网工程师。上一节,我们了解到算法的一些特征,想必大家都掌握了算法设计要求,在学习或工作中根据业务需求设计要设计一个算法,我们要如何评估一个算法的好坏呐?下面我们来看看算法的度量方式。1、算法的效率度量方法我们知道一个算法的效率,抛开性能这些,其实值得注意的就是算法的执行时间,同一台机器上,我们使用相同数据集,利用计算机
  • 聊聊自学数据结构与算法 莫天幽 数据结构算法
    聊聊自学数据结构与算法大家好,我是莫幽天很高兴你能够阅读到我的文章。说道自学算法,不知道你是带着一个什么样的心情来学习,我呢是觉得基础太重要了。所以又来尝试深入的学习数据结构与算法。为什么这么说呢,我是一名Java开发的程序猿,现在jdk已经出到18了(时间北京时间:2021-07-28),但是呢开发一般还在用jdk8。一般的Java程序猿也就了解个jdk8的特性。上层变化的太快,想记忆需要长期持
  • github源码指引:共享内存、数据结构与算法:平衡二叉树set带有互斥接口的 初级代码游戏 github源码指引共享内存数据结构与算法github哈希算法算法共享内存
    初级代码游戏的专栏介绍与文章目录-CSDN博客我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。目录一、演示代码二、互斥层的实现2.1简单的互斥层实现2.2完整互斥接口的实现2.2.1互斥对象放在哪里2.2.2迭代器的互斥2.2.3方法的互斥三、互斥层的设计思想一、演示
  • github源码指引:共享内存、数据结构与算法:平衡二叉树set的lower_bound 初级代码游戏 github源码指引共享内存数据结构与算法github哈希算法算法
    初级代码游戏的专栏介绍与文章目录-CSDN博客我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。本篇专门讲解lower_bound的实现。目录一、STL的lower_bound和upper_bound是什么二、二叉树有没有lower_bound三、演示代码3.1定义数据
  • 编程练习题目集【目录】 绯樱殇雪 目录PTAc++javapat考试
    所有负面情绪都源于你的弱小,唯有强大自己才能够百毒不侵。文章目录一、PTA1.练习(1)中国大学MOOC-陈越、何钦铭-数据结构-起步能力自测题(2)DataStructuresandAlgorithms(English)(3)数据结构与算法题目集(中文)(4)团体程序设计天梯赛-练习集(5)基础编程题目集①函数题②编程题2.考试(1)PAT(BasicLevel)Practice(中文)(2)P
  • github源码指引:共享内存、数据结构与算法:作为基础的数组 初级代码游戏 github源码指引共享内存数据结构与算法github共享内存数据结构算法可扩展数组
    初级代码游戏的专栏介绍与文章目录-CSDN博客我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。相关专题:共享内存、数据结构与算法_初级代码游戏的博客-CSDN博客源码位置:shmfc基础:github源码指引:源码结构、编译、运行_github编译-CSDN博客目录一
  • 驾驭高效编程:一探C++ STL的奥秘 一叶之秋1412 c++开发语言
    1.什么是STL2.:STL的版本2.1:原始版本2.2:P.J版本2.3:RW版本2.4:SGI版本3:STL的六大组件4:如何学习STL5:STL的缺陷1.什么是STLSTL(standdardtemplatelibrary-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包含数据结构与算法软件框架.2.:STL的版本2.1:原始版本AlexanderStepa
  • 【数据结构与算法】从左到右快速幂和从右到左快速幂 星眺北海 数据结构与算法算法快速幂
    引出问题在计算机科学中,幂运算是一种非常常见且基础的操作,尤其是在涉及到大数运算时,幂运算的效率对整个计算过程至关重要。设想以下场景:在加密算法中,如RSA算法,常常需要计算大数的幂,且这种计算必须在一定时间内完成,以确保安全性。在数值计算中,我们可能需要反复进行大规模的幂运算,如果采用最直接的计算方法,其计算量和时间将非常庞大。如果我们采用朴素的计算方法,例如计算aba^bab时,通过不断相乘a
  • 我的程序员读书路 weixin_30416497 c#javascript大数据ViewUI
    CLRviaC#(第三版)你必须知道的.NET(第二版)编码:隐匿在计算机软硬件背后的语言代码整洁之道重构:改善既有代码的设计数据结构与算法:C#语言描述程序员修炼之道:从小工到专家编程珠玑(第2版)深入理解计算机系统(第2版)数据挖掘概念与技术(第2版)高效程序员的45个习惯:敏捷开发修炼之道面向对象分析与设计(第三版)深入浅出设计模式(c#/java版)代码大全第二版设计模式:可复用面向对象软
  • 异常的核心类Throwable 无量 java源码异常处理exception
    java异常的核心是Throwable,其他的如Error和Exception都是继承的这个类 里面有个核心参数是detailMessage,记录异常信息,getMessage核心方法,获取这个参数的值,我们可以自己定义自己的异常类,去继承这个Exception就可以了,方法基本上,用父类的构造方法就OK,所以这么看异常是不是很easy package com.natsu;
  • mongoDB 游标(cursor) 实现分页 迭代 开窍的石头 mongodb
    上篇中我们讲了mongoDB 中的查询函数,现在我们讲mongo中如何做分页查询      如何声明一个游标        var mycursor = db.user.find({_id:{$lte:5}});       迭代显示游标数
  • MySQL数据库INNODB 表损坏修复处理过程 0624chenhong tomcatmysql
    最近mysql数据库经常死掉,用命令net stop mysql命令也无法停掉,关闭Tomcat的时候,出现Waiting for N instance(s) to be deallocated 信息。查了下,大概就是程序没有对数据库连接释放,导致Connection泄露了。因为用的是开元集成的平台,内部程序也不可能一下子给改掉的,就验证一下咯。启动Tomcat,用户登录系统,用netstat -
  • 剖析如何与设计人员沟通 不懂事的小屁孩 工作
    最近做图烦死了,不停的改图,改图……。烦,倒不是因为改,而是反反复复的改,人都会死。很多需求人员不知该如何与设计人员沟通,不明白如何使设计人员知道他所要的效果,结果只能是沟通变成了扯淡,改图变成了应付。 那应该如何与设计人员沟通呢? 我认为设计人员与需求人员先天就存在语言障碍。对一个合格的设计人员来说,整天玩的都是点、线、面、配色,哪种构图看起来协调;哪种配色看起来合理心里跟明镜似的,
  • qq空间刷评论工具 换个号韩国红果果 JavaScript
    var a=document.getElementsByClassName('textinput'); var b=[]; for(var m=0;m<a.length;m++){ if(a[m].getAttribute('placeholder')!=null) b.push(a[m]) } var l
  • S2SH整合之session 灵静志远 springAOPstrutssession
    错误信息: Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cartService': Scope 'session' is not active for the current thread; consider defining a scoped
  • xmp标签 a-john 标签
    今天在处理数据的显示上遇到一个问题: var html = '<li><div class="pl-nr"><span class="user-name">' + user + '</span>' + text + '</div></li>'; ulComme
  • Ajax的常用技巧(2)---实现Web页面中的级联菜单 aijuans Ajax
    在网络上显示数据,往往只显示数据中的一部分信息,如文章标题,产品名称等。如果浏览器要查看所有信息,只需点击相关链接即可。在web技术中,可以采用级联菜单完成上述操作。根据用户的选择,动态展开,并显示出对应选项子菜单的内容。 在传统的web实现方式中,一般是在页面初始化时动态获取到服务端数据库中对应的所有子菜单中的信息,放置到页面中对应的位置,然后再结合CSS层叠样式表动态控制对应子菜单的显示或者隐
  • 天-安-门,好高 atongyeye 情感
        我是85后,北漂一族,之前房租1100,因为租房合同到期,再续,房租就要涨150。最近网上新闻,地铁也要涨价。算了一下,涨价之后,每次坐地铁由原来2块变成6块。仅坐地铁费用,一个月就要涨200。内心苦痛。     晚上躺在床上一个人想了很久,很久。        我生在农
  • android 动画 百合不是茶 android透明度平移缩放旋转
    android的动画有两种  tween动画和Frame动画   tween动画;,透明度,缩放,旋转,平移效果   Animation   动画 AlphaAnimation 渐变透明度 RotateAnimation 画面旋转 ScaleAnimation 渐变尺寸缩放 TranslateAnimation 位置移动 Animation
  • 查看本机网络信息的cmd脚本 bijian1013 cmd
    @echo 您的用户名是:%USERDOMAIN%\%username%>"%userprofile%\网络参数.txt" @echo 您的机器名是:%COMPUTERNAME%>>"%userprofile%\网络参数.txt" @echo ___________________>>"%userprofile%\
  • plsql 清除登录过的用户 征客丶 plsql
    tools---preferences----logon history---history  把你想要删除的删除 -------------------------------------------------------------------- 若有其他凝问或文中有错误,请及时向我指出, 我好及时改正,同时也让我们一起进步。 email : binary_spac
  • 【Pig一】Pig入门 bit1129 pig
    Pig安装 1.下载pig   wget http://mirror.bit.edu.cn/apache/pig/pig-0.14.0/pig-0.14.0.tar.gz   2. 解压配置环境变量      如果Pig使用Map/Reduce模式,那么需要在环境变量中,配置HADOOP_HOME环境变量   expor
  • Java 线程同步几种方式 BlueSkator volatilesynchronizedThredLocalReenTranLockConcurrent
    为何要使用同步?      java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查),      将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,      从而保证了该变量的唯一性和准确性。 1.同步方法&
  • StringUtils判断字符串是否为空的方法(转帖) BreakingBad nullStringUtils“”
    转帖地址:http://www.cnblogs.com/shangxiaofei/p/4313111.html   public static boolean isEmpty(String str)     判断某字符串是否为空,为空的标准是 str== null  或 str.length()== 0  
  • 编程之美-分层遍历二叉树 bylijinnan java数据结构算法编程之美
    import java.util.ArrayList; import java.util.LinkedList; import java.util.List; public class LevelTraverseBinaryTree { /** * 编程之美 分层遍历二叉树 * 之前已经用队列实现过二叉树的层次遍历,但这次要求输出换行,因此要
  • jquery取值和ajax提交复习记录 chengxuyuancsdn jquery取值ajax提交
    // 取值 // alert($("input[name='username']").val()); // alert($("input[name='password']").val()); // alert($("input[name='sex']:checked").val()); // alert($("
  • 推荐国产工作流引擎嵌入式公式语法解析器-IK Expression comsci java应用服务器工作Excel嵌入式
    这个开源软件包是国内的一位高手自行研制开发的,正如他所说的一样,我觉得它可以使一个工作流引擎上一个台阶。。。。。。欢迎大家使用,并提出意见和建议。。。 ----------转帖--------------------------------------------------- IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言
  • 关于系统中使用多个PropertyPlaceholderConfigurer的配置及PropertyOverrideConfigurer daizj spring
    1、PropertyPlaceholderConfigurer Spring中PropertyPlaceholderConfigurer这个类,它是用来解析Java Properties属性文件值,并提供在spring配置期间替换使用属性值。接下来让我们逐渐的深入其配置。 基本的使用方法是:(1) <bean id="propertyConfigurerForWZ&q
  • 二叉树:二叉搜索树 dieslrae 二叉树
        所谓二叉树,就是一个节点最多只能有两个子节点,而二叉搜索树就是一个经典并简单的二叉树.规则是一个节点的左子节点一定比自己小,右子节点一定大于等于自己(当然也可以反过来).在树基本平衡的时候插入,搜索和删除速度都很快,时间复杂度为O(logN).但是,如果插入的是有序的数据,那效率就会变成O(N),在这个时候,树其实变成了一个链表. tree代码:
  • C语言字符串函数大全 dcj3sjt126com cfunction
    C语言字符串函数大全     函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例:   #include <stdio.h> #include <string.h>   int main
  • 友盟统计页面技巧 dcj3sjt126com 技巧
    在基类调用就可以了, 基类ViewController示例代码 -(void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [MobClick beginLogPageView:[NSString stringWithFormat:@"%@",self.class]];
  • window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法 flyvszhb javajdk
    window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法 本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7. 安装jdk1.6前,执行java -version得到 C:\Users\liuxiang2>java -version java version "1.7.0_21&quo
  • Java在创建子类对象的同时会不会创建父类对象 happyqing java创建子类对象父类对象
      1.在thingking in java 的第四版第六章中明确的说了,子类对象中封装了父类对象,   2."When you create an object of the derived class, it contains within it a subobject of the base class. This subobject is the sam
  • 跟我学spring3 目录贴及电子书下载 jinnianshilongnian spring
        一、《跟我学spring3》电子书下载地址: 《跟我学spring3》  (1-7 和 8-13) http://jinnianshilongnian.iteye.com/blog/pdf     跟我学spring3系列 word原版 下载     二、 源代码下载 最新依
  • 第12章 Ajax(上) onestopweb Ajax
    index.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/
  • BI and EIM 4.0 at a glance blueoxygen BO
    http://www.sap.com/corporate-en/press.epx?PressID=14787   有机会研究下EIM家族的两个新产品~~~~   New features of the 4.0 releases of BI and EIM solutions include: Real-time in-memory computing –
  • Java线程中yield与join方法的区别 tomcat_oracle java
    长期以来,多线程问题颇为受到面试官的青睐。虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用。之前,我讨论了一个wait()和sleep()方法区别的问题,这一次,我将会讨论join()和yield()方法的区别。坦白的说,实际上我并没有用过其中任何一个方法,所以,如果你感觉有不恰当的地方,请提出讨论。 &nb
  • android Manifest.xml选项 阿尔萨斯 Manifest
    结构 继承关系 public final class Manifest extends Objectjava.lang.Objectandroid.Manifest 内部类 class Manifest.permission权限 class Manifest.permission_group权限组 构造函数 public Manifest () 详细 androi
  • Oracle实现类split函数的方 zhaoshijie oracle
    关键字:Oracle实现类split函数的方 项目里需要保存结构数据,批量传到后他进行保存,为了减小数据量,子集拼装的格式,使用存储过程进行保存。保存的过程中需要对数据解析。但是oracle没有Java中split类似的函数。从网上找了一个,也补全了一下。 CREATE OR REPLACE TYPE t_split_100 IS TABLE OF VARCHAR2(100); cr