自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 三种编程方式:面向过程编程(Python)、面向数据编程(TensorFlow)、面向约束编程(z3)

三种编程方式面向过程编程(C语言)、面向数据编程(TensorFlow)、面向约束编程(z3)一、面向过程编程(一). 面向过程面向过程是一种以事件为中心的编程思想,编程的时候把解决问题的步骤分析出来,然后把这些步骤实现。(二).案例1. 鸡兔同笼《孙子算经》: 今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?列方程式:设鸡有chick只,兔有rabbit只chick + rabbit = 352 * chick + 4 * rabbit = 94代码# 1. 设置头、脚

2020-10-29 01:01:42 2127

原创 z3py使用字符串形式的 公式/表达式

大多数代码示例中,z3py的 公式或表达式 都是直接作为参数传入solve或s.add等函数中,例如:from z3 import *x = Int('x')y = Int('y')solve(x > 2, y < 10, x + 2*y == 7)然而,有时候 公式/表达式 是从其它程序或文件中读取的字符串,不能把字符串作为solve的参数,例如:from z3 import *x = Int('x')y = Int('y')# str_expression为

2020-10-22 01:10:45 740

原创 Z3求解器入门介绍(Python3)

一、简介Z3是由Microsoft Research开发的高性能定理证明器。(可以理解为自动解方程组的感觉)。Z3 在工业应用中实际上常见于软件验证、程序分析等。由于Z3功能实在强大,也被用于很多其他领域:软件/硬件验证和测试,约束解决,混合系统分析,安全性,生物学(计算机模拟分析)和几何问题。CTF 领域来说,能够用约束求解器搞定的问题常见于密码题、二进制逆向、符号执行、Fuzzing 模糊测试等。此外,著名的二进制分析框架 angr 也内置了一个修改版的 Z3。二、快速入门(一.

2020-09-29 00:18:28 5952

原创 基于C++的开源UML工具:Umbrello

找了一个基于C++编写的开源UML软件:Umbrello主页:https://umbrello.kde.org/下载:https://download.kde.org/stable/umbrello/latest/示例工程:附件workspace_simple.xmi 下载该软件工程文件是一个扩展名为.xmi 的文件,用Umbrell软件打开示例工程workspace_...

2019-12-25 00:11:13 1308

原创 第一个GoogleTest(gtest)项目实验日记

第一个GoogleTest(gtest)项目实验日记目录零、前言... 2一、创建一个带main函数的项目... 3二、创建GoogleTest环境... 61.头文件... 62.编写简单的代码... 8(1)添加被测试函数... 8(2)添加gtest测试代码... 9(3)添加执行gtest测试的代码... 93.库文件... 12(1)创建一个静...

2018-11-19 16:14:04 2025 1

原创 通过二叉树的前序和中序遍历新建一个二叉树

BTree CreateBTreeByPreIn(char pre[], char in[], int n);//通过前序中序创建一个二叉树

2017-06-04 20:05:58 494

原创 计算二叉树中值为data的结点所在的层数

定义二叉树的二叉链表,设其元素为整数。然后编写函数,计算二叉树中值为x结点所在的层数。

2017-05-25 15:54:24 6256

原创 带头结点的单链表上将后k个结点变换为前k个结点的操作

写出单链表的类型定义。然后编写一个函数,实现在带头结点的单链表上将后k个结点变换为前k个结点的操作。 例如:若表中原来元素为:8 5 6 9 7 4 3 设k=3,则变换后为:7 4 3 8 5 6 9

2017-05-25 14:48:43 849

原创 猴子吃桃问题——递归算法解答

猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天又将剩下的桃子吃掉了一半,又多吃了一个。以后每天将前一天剩下的桃子吃掉一半,再多吃一个。直到第十天只剩下一个桃子了,求第一天共摘了多少个桃子。要求用递归算法解答,写出完整的C程序。

2017-05-23 22:44:20 34240 1

原创 利用顺序栈实现:判别表达式中括弧是否正确配对(BracketMatch函数)

/*假设一个算数表达式中包含圆括弧、方括弧和花括弧三种类型的括弧,编写一个判别表达式中括弧是否正确配对的BracketMatch函数。*/int BracketMatch(SElemType *str);

2017-03-30 20:42:40 3778

原创 设以带头结点的双向循环链表表示的线性表L= (a1,a2,…,an),试写一时间复杂度O(n)的算法,将L改造为 (a1,a3,…,an,…,a4,a2)。

/*将L中的元素,按如下规则插入新表,并返回新表。(1,2)->(1,3,2)->(1,3,4,2)->(1,3,5,4,2)->(1,3,5,6,4,2)->...*/DuLinkList Transform(DuLinkList L);

2017-03-27 23:05:52 12680 1

原创 无头节点的单循环链表中删除指针s所指结点的前驱结点

//返回L后第n个节点(n可超过L的总节点个数)LNode *creLNodePoint(CLinkList L, int n);//删除s的前驱节点void delPrior(LNode *s);

2017-03-27 23:03:48 9235

原创 带头节点的单链表练习

//在elem后插入enew,若elem不存在,则在末尾插入void insertByData(LinkList L, ElemType elem, ElemType enew);void insertByData2(LinkList L, ElemType elem, ElemType enew);void insertByData3(LinkList L, ElemType elem, ElemType enew);//倒数第n个元素之前插入enew,若L长度小于n,则插入开头LNode *

2017-03-27 22:56:20 877

原创 查找元素x,若x存在,则与其后继交换,否则将x插入,使顺序表有序

//二分法查找x,找到则返回元素索引,找不到则返回不大于x的最大元素索引的相反数int SearchByElem(SqList *L, ElemType x);//第i个数据之前插入xvoid InsertByIndex(SqList *L, int i, ElemType x);//交换数据值void swap(ElemType *x, ElemType *y);//查找元素x,若x存在,则与其后继交换,否则将x插入,使顺序表有序void SearchSwapInsert(SqList *L

2017-03-27 22:44:28 766

Umbrello示例文件:workspace_simple.xmi

用于《基于C++的开源UML工具:Umbrello》 用于《基于C++的开源UML工具:Umbrello》 用于《基于C++的开源UML工具:Umbrello》 用于《基于C++的开源UML工具:Umbrello》

2019-12-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除