欢迎来到相识电子书!

标签:Programming

  • An Introduction to Programming with Mathematica®

    作者:Paul R. Wellin,Richa

    An Introduction to Programming with Mathematica® is designed to introduce the Mathematica programming language to a wide audience. Since the last edition of this book was published, significant changes have occurred in Mathematica and its use worldwide. Keeping pace with these changes, this substantially larger, updated version includes new and revised chapters on numerics, procedural, rule-based, and front-end programming, and gives significant coverage to the latest features up to, and including, Mathematica 5.1 Mathematica notebooks, available from www.cambridge.org/0521846781, contain examples, programs, and solutions to exercises in the book. Additionally, material to supplement later versions of the software will be made available. This is the ideal text for all scientific students, researchers, and programmers wishing to deepen their understanding of Mathematica, or even those keen to program using an interactive language that contains programming paradigms from all major programming languages: procedural, functional, recursive, rule-based, and object-oriented.
  • 挑战编程

    作者:斯基纳

    《挑战编程:程序设计竞赛训练手册》分为14章,分别介绍在线评测系统的基本使用方法、数据结构、字符串、排序、算术与代数、组合数学、数论、回溯法、图遍历、图算法、动态规划、网格、几何,以及计算几何,并在附录中介绍了一些著名的程序设计竞赛以及相应的备赛建议与比赛技巧。每章的正文用十余页的篇幅覆盖了该领域最核心的概念和算法,然后给出八道可在线提交的完整编程挑战题目供读者练习。 全书内容紧凑、信息量大,是各类程序设计竞赛的选手与教练不可多得的参考书。
  • 算法设计

    作者:Jon Kleinberg,Éva Ta

    算法设计,ISBN:9787302143352,作者:(美)克林伯格(Kleinberg,J.),()塔多斯(Tardos,E.) 著,张立昂,屈婉玲 译
  • Algorithmic Puzzles

    作者:Anany Levitin,Maria

    Algorithmic puzzles are puzzles involving well-defined procedures for solving problems. This book will provide an enjoyable and accessible introduction to algorithmic puzzles that will develop the reader's algorithmic thinking. The first part of this book is a tutorial on algorithm design strategies and analysis techniques. Algorithm design strategies - exhaustive search, backtracking, divide-and-conquer and a few others - are general approaches to designing step-by-step instructions for solving problems. Analysis techniques are methods for investigating such procedures to answer questions about the ultimate result of the procedure or how many steps are executed before the procedure stops. The discussion is an elementary level, with puzzle examples, and requires neither programming nor mathematics beyond a secondary school level. Thus, the tutorial provides a gentle and entertaining introduction to main ideas in high-level algorithmic problem solving. The second and main part of the book contains 150 puzzles, from centuries-old classics to newcomers often asked during job interviews at computing, engineering, and financial companies. The puzzles are divided into three groups by their difficulty levels. The first fifty puzzles in the Easier Puzzles section require only middle school mathematics. The sixty puzzle of average difficulty and forty harder puzzles require just high school mathematics plus a few topics such as binary numbers and simple recurrences, which are reviewed in the tutorial. All the puzzles are provided with hints, detailed solutions, and brief comments. The comments deal with the puzzle origins and design or analysis techniques used in the solution. The book should be of interest to puzzle lovers, students and teachers of algorithm courses, and persons expecting to be given puzzles during job interviews.
  • 特别版MATHEMATICA全书

    作者:[美] 斯蒂芬·沃尔夫雷

  • 算法心得:高效算法的奥秘(原书第2版)

    作者:(美)Henry S. Warren,

    【编辑推荐】 由在IBM工作50余年的资深计算机专家撰写,Amazon全五星评价,算法领域最有影响力的著作之一 Google公司首席架构师、Jolt大奖得主Hoshua Bloch和Emacs合作创始人、C语言畅销书作者Guy Steele倾情推荐 算法的艺术和数学的智慧在本书中得到了完美体现,书中总结了大量高效、优雅和奇妙的算法,并从数学角度剖析了其背后的原理 【读者评价】 “这是第一本宣称能讲解计算机算法隐晦细节的书,而且讲得还真不错。我知道的每一条技巧书里都提到了,而且还讲了好多好多我不知道的。不论是在开发程序库或编译器,还是在极力搜求优雅算法,此书都可谓天赐良册,应放在高德纳所著《计算机程序设计艺术》那套书旁边。本书第一版刊印后的10年间,它对我在Sun和Google的工作大有裨益,而第二版所添加新内容亦令我惊羡不已。” —— Joshua Bloch “初看本书书名时,我想,这是教人怎么入侵计算机系统的书吗?不太可能吧。嗯,那就肯定是一本编程小技巧的集锦。看了之后发现,没错,这就是一本编程秘籍,然而却是一本包罗万象的秘籍。第二版新增了两个大主题,并用数十个小技巧丰富了本书内容,其中有个小绝招是如何在不溢出的情况下求两数均值,我写二分查找算法时直接就把这条拿来用了。这真是本令算法爱好者开怀畅读的书啊!” —— Guy Steele 【内容简介】 在本书中,作者给我们带来了一大批极为诱人的知识,其中包括各种节省程序运行时间的技巧、算法与窍门。学习了这些技术,程序员就可写出优雅高效的软件,同时还能洞悉其中原理。这些技术极为实用,而且其问题本身又非常有趣,有时甚至像猜谜解谜一般,需要奇思妙想才行。简而言之,软件开发者看到这些改进程序效率的妙计之后,定然大喜。 本书较第1版增补了大量内容 新增了循环冗余校验(CRC)一章,其中讲解了常用的CRC-32校验码 新增了纠错码(ECC)一章,其中讲解了汉明码 详解了除数为常数的整数除法,增补了仅含移位操作和加法操作的算法 不计算商而直接求余数 扩充了与种群计数和前导0计数有关的知识 数组种群计数 执行压缩与扩展操作的新算法 LRU算法 浮点数与整数互化 估算浮点数的平方根倒数 一系列离散函数图像 各章均配有习题与参考答案
  • 算法心得:高效算法的奥秘(原书第2版)

    作者:(美)Henry S. Warren,

    【编辑推荐】 由在IBM工作50余年的资深计算机专家撰写,Amazon全五星评价,算法领域最有影响力的著作之一 Google公司首席架构师、Jolt大奖得主Hoshua Bloch和Emacs合作创始人、C语言畅销书作者Guy Steele倾情推荐 算法的艺术和数学的智慧在本书中得到了完美体现,书中总结了大量高效、优雅和奇妙的算法,并从数学角度剖析了其背后的原理 【读者评价】 “这是第一本宣称能讲解计算机算法隐晦细节的书,而且讲得还真不错。我知道的每一条技巧书里都提到了,而且还讲了好多好多我不知道的。不论是在开发程序库或编译器,还是在极力搜求优雅算法,此书都可谓天赐良册,应放在高德纳所著《计算机程序设计艺术》那套书旁边。本书第一版刊印后的10年间,它对我在Sun和Google的工作大有裨益,而第二版所添加新内容亦令我惊羡不已。” —— Joshua Bloch “初看本书书名时,我想,这是教人怎么入侵计算机系统的书吗?不太可能吧。嗯,那就肯定是一本编程小技巧的集锦。看了之后发现,没错,这就是一本编程秘籍,然而却是一本包罗万象的秘籍。第二版新增了两个大主题,并用数十个小技巧丰富了本书内容,其中有个小绝招是如何在不溢出的情况下求两数均值,我写二分查找算法时直接就把这条拿来用了。这真是本令算法爱好者开怀畅读的书啊!” —— Guy Steele 【内容简介】 在本书中,作者给我们带来了一大批极为诱人的知识,其中包括各种节省程序运行时间的技巧、算法与窍门。学习了这些技术,程序员就可写出优雅高效的软件,同时还能洞悉其中原理。这些技术极为实用,而且其问题本身又非常有趣,有时甚至像猜谜解谜一般,需要奇思妙想才行。简而言之,软件开发者看到这些改进程序效率的妙计之后,定然大喜。 本书较第1版增补了大量内容 新增了循环冗余校验(CRC)一章,其中讲解了常用的CRC-32校验码 新增了纠错码(ECC)一章,其中讲解了汉明码 详解了除数为常数的整数除法,增补了仅含移位操作和加法操作的算法 不计算商而直接求余数 扩充了与种群计数和前导0计数有关的知识 数组种群计数 执行压缩与扩展操作的新算法 LRU算法 浮点数与整数互化 估算浮点数的平方根倒数 一系列离散函数图像 各章均配有习题与参考答案
  • MATLAB数值计算

    作者:莫勒

    《MATLAB数值计算》是关于数值方法、MATLAB软件和工程计算的教材,着重介绍数学软件的熟练使用及其内在的高效率算法。主要内容包括:MATLAB介绍、线性方程组、插值、方程求根、最小二乘法、数值积分、常微分方程、傅里叶分析、随机数、特征值与奇异值、偏微分方程。《MATLAB数值计算》配备大量MATLAB例子源代码及习题,其中涉及密码学、Google网页分级、大气科学和图像处理等前沿问题,可以帮助读者快速掌握数学函数的正确使用及MATLAB编程技巧。
  • Python语言入门

    作者:[美] Mark Lutz,David

    书中描述了Python程序的基本构件:类型、操作符、语句、函数、模块、类以及异常,此外还介绍了更多高级主题,包括复杂的实例,最后讲述了如何使用Python定制库来创建大型程序。
  • The Art of UNIX Programming

    作者:Eric S. Raymond

    Writing better software: 30 years of UNIX development wisdom In this book, five years in the making, the author encapsulates three decades of unwritten, hard-won software engineering wisdom. Raymond brings together for the first time the philosophy, design patterns, tools, culture, and traditions that make UNIX home to the world's best and most innovative software, and shows how these are carried forward in Linux and today's open-source movement. Using examples from leading open-source projects, he shows UNIX and Linux programmers how to apply this wisdom in building software that's more elegant, more portable, more reusable, and longer-lived.
  • 人工智能

    作者:Stuart J. Russell,Pe

    《人工智能:一种现代的方法(第3版)(影印版)》最权威、最经典的人工智能教材,已被全世界100多个国家的1200多所大学用作教材。《人工智能:一种现代的方法(第3版)(影印版)》的最新版全面而系统地介绍了人工智能的理论和实践,阐述了人工智能领域的核心内容,并深入介绍了各个主要的研究方向。全书仍分为八大部分:第一部分“人工智能”,第二部分“问题求解”,第三部分“知识与推理”,第四部分“规划”,第五部分“不确定知识与推理”,第六部分“学习”,第七部分“通信、感知与行动”,第八部分“结论”。《人工智能:一种现代的方法(第3版)(影印版)》既详细介绍了人工智能的基本概念、思想和算法,还描述了其各个研究方向最前沿的进展,同时收集整理了详实的历史文献与事件。另外,《人工智能:一种现代的方法(第3版)(影印版)》的配套网址为教师和学生提供了大量教学和学习资料。 《人工智能:一种现代的方法(第3版)(影印版)》适合于不同层次和领域的研究人员及学生,是高等院校本科生和研究生人工智能课的首选教材,也是相关领域的科研与工程技术人员的重要参考书。
  • 可爱的Python

    作者:哲思社区

    本书的内容主要来自CPyUG社区的邮件列表,由Python的行者根据自身经验组织而成,是为从来没有听说过Python的其他语言程序员准备的一份实用的导学性质的书。笔者试图将优化后的学习体验,通过故事的方式传达给读者,同时也分享了蟒样(Pythonic式)的知识获取技巧,而且希望将最常用的代码和思路,通过作弊条(Cheat Sheet,提示表单)的形式分享给有初步基础的Python 用户,来帮助大家多快好省地完成功能。 本书期望成为学习使用Python的同好们的沟通话题,引发进一步的学习/应用/创造/推广,就是笔者的追求!因为Python语言本身是种非常灵活的动态脚本语言,同一个目标可以使用多种方式完成,笔者为了让拥有各种不同技术背景的读者可以快速无碍地理解,选择了一种实际上可能比较笨拙的方式来实现功能,聪明的读者一定可以看出来的,那么请会心一笑,因为您已经和我们心灵相通了!
  • Programming Interactivity

    作者:Joshua Noble

    Make cool stuff. If you're a designer or artist without a lot of programming experience, this book will teach you to work with 2D and 3D graphics, sound, physical interaction, and electronic circuitry to create all sorts of interesting and compelling experiences -- online and off. Programming Interactivity explains programming and electrical engineering basics, and introduces three freely available tools created specifically for artists and designers: *Processing, a Java-based programming language and environment for building projects on the desktop, Web, or mobile phones *Arduino, a system that integrates a microcomputer prototyping board, IDE, and programming language for creating your own hardware and controls *OpenFrameworks, a coding framework simplified for designers and artists, using the powerful C++ programming language BTW, you don't have to wait until you finish the book to actually make something. You'll get working code samples you can use right away, along with the background and technical information you need to design, program, build, and troubleshoot your own projects. The cutting edge design techniques and discussions with leading artists and designers will give you the tools and inspiration to let your imagination take flight.
  • You Are Not a Gadget

    作者:Jaron Lanier

    Jaron Lanier, a Silicon Valley visionary since the 1980s, was among the first to predict the revolutionary changes the World Wide Web would bring to commerce and culture. Now, in his first book, written more than two decades after the web was created, Lanier offers this provocative and cautionary look at the way it is transforming our lives for better and for worse. The current design and function of the web have become so familiar that it is easy to forget that they grew out of programming decisions made decades ago. The web’s first designers made crucial choices (such as making one’s presence anonymous) that have had enormous—and often unintended—consequences. What’s more, these designs quickly became “locked in,” a permanent part of the web’s very structure. Lanier discusses the technical and cultural problems that can grow out of poorly considered digital design and warns that our financial markets and sites like Wikipedia, Facebook, and Twitter are elevating the “wisdom” of mobs and computer algorithms over the intelligence and judgment of individuals. Lanier also shows: How 1960s antigovernment paranoia influenced the design of the online world and enabled trolling and trivialization in online discourse How file sharing is killing the artistic middle class; How a belief in a technological “rapture” motivates some of the most influential technologists Why a new humanistic technology is necessary. Controversial and fascinating, You Are Not a Gadget is a deeply felt defense of the individual from an author uniquely qualified to comment on the way technology interacts with our culture.
  • Learning Processing

    作者:Daniel Shiffman

    Book Description Teaches graphic artists the fundamentals of computer programming within a visual playground! Product Description This book introduces programming concepts in the context of computer graphics and visual art, in a more accessible format than traditional programming textbooks. It uses the open source programming language Processing as the basis for all discussion and examples, focusing on the fundamentals such as variables, conditionals, loops, arrays, and objects in a highly visual manner. The book will also introduce advanced topics such as data mining, networking, image processing, computer vision, and 3D graphics. It will also introduce using Processing for "tangible media"; communicating with microcontrollers to interact with the physical environment. Processing is built on top of the programming language Java, and so is an excellent introduction to Java and object-oriented programming, and will help prepare the student for study of more advanced object-oriented languages such as Java or C++. * Introduces the concepts of computer programming using the programming language Processing developed at the MIT Media Lab * Written for the interactive media designer without any programming experience * Includes source code for many examples, illustrated with examples of what can be done with Processing
  • 编程ING

    作者:蔡学镛

    现在是 IT的时代,工作与生活都离不开IT。许多人都想了解软件原理,甚至编写一些简单的软件。通过《编程 ING:人人都能学会程序设计》一书,你就能拥有这样的能力,甚至培养出对编程的兴趣。 本书在编写上采用了心理学的一些技巧,每一页都有绘制精美的彩图并配有相应的说明文字,通过图的方式加强说明,而且图片与下面的文字相互呼应,达到重复的效果,可以加深记忆。读者在看图的过程中思考,在阅读文字的过程中加强理解,在动手实践的过程中实际体会,学习效果相当好。 这本书分成三大篇:第一篇讲述编程原理,第二篇讲述语法细节,第三篇是范例演示。第一篇重点在打破隔阂,让读者对编程有基本的认识,不再感到陌生或恐惧。第二篇详细说明语法,内容安排得深入浅出,不像一般程序设计书籍那般枯燥,而且强调动手做实验。第三篇的范例将前两篇的知识整合起来,并且突破性地设计渐进式的范例,让学习的坡度相当和缓,且讲解了所有的程序要素,包括循环、分支、函数、递归与模块化。 任何人想学程序设计,这本书都会是一个明智的选择。
  • C++ Network Programming, Volume I

    作者:Douglas C. Schmidt,S

    As networks, devices, and systems continue to evolve, software engineers face the unique challenge of creating reliable distributed applications within frequently changing environments. C++ Network Programming, Volume 1, provides practical solutions for developing and optimizing complex distributed systems using the ADAPTIVE Communication Environment (ACE), a revolutionary open-source framework that runs on dozens of hardware platforms and operating systems. This book guides software professionals through the traps and pitfalls of developing efficient, portable, and flexible networked applications. It explores the inherent design complexities of concurrent networked applications and the tradeoffs that must be considered when working to master them. C++ Network Programming begins with an overview of the issues and tools involved in writing distributed concurrent applications. The book then provides the essential design dimensions, patterns, and principles needed to develop flexible and efficient concurrent networked applications. The book's expert author team shows you how to enhance design skills while applying C++ and patterns effectively to develop object-oriented networked applications. Readers will find coverage of: * C++ network programming, including an overview and strategies for addressing common development challenges The ACE Toolkit * Connection protocols, message exchange, and message-passing versus shared memory * Implementation methods for reusable networked application services * Concurrency in object-oriented network programming * Design principles and patterns for ACE wrapper facades With this book, C++ developers have at their disposal the most complete toolkit available for developing successful, multiplatform, concurrent networked applications with ease and efficiency.
  • 程序员修炼之道(影印版)

    作者:Andrew Hunt,David Th

    本书直击编程陈地,穿过了软件开发中日益增长的规范和技术藩篱,对核心过程进行了审视——即根据需求,创建用户乐于接受的、可工作和易维护的代码。本书包含的内容从个人责任到职业发展,直至保持代码灵活和易于改编重用的架构技术。从本书中将学到防止软件变质、消除复制知识的陷阱、编写灵活、动态和易适应的代码、避免出现相同的设计、用契约、断言和异常对代码进行防护等内容。
  • 迷茫的旅行商

    作者:[美] William J. Cook

    假设一名旅行商打算拜访一张城市列表中的所有城市,每座城市只去一次,最后回到出发地。要怎么走才能让路线最短呢?这就是旅行商问题,乍一听很简单,在应用数学界却是一道研究极其热烈的难题,时至今日仍无人能解。本书中,William J. Cook将带领读者踏上一场数学之旅,跟随旅行商的脚步,从19世纪初爱尔兰数学家W. R. Hamilton最初定义该问题开始,一路奔向当今最前沿、最顶尖的解题尝试。 作者追根溯源,回顾了旅行商问题的历史,探索了它的种种重要应用,比如基因组测序、设计计算机处理器、整理音乐乃至搜寻行星等。他分析了计算机如何抗衡规模宏大的旅行商问题,探讨了人类如何在不借助计算机的情况下独立破解难题。他一路穿越神经科学、心理学与艺术的王国,向读者下了战书:试试解决这道难题吧!旅行商问题价值百万美元——这是克雷数学研究所的悬赏金额,只要解出该题或证明该题不可解,就能得到这笔奖金。 《迷茫的旅行商》介绍了人类对于复杂性本质的理解与局限,将激励读者从此踏上求解这道迷人难题的漫漫征程。
  • 改变未来的九大算法

    作者:[美] 约翰.麦考密克

    Google得出的搜索结果是如何产生的? 百度为何会陷入“搜索门”,又是什么机制使然? 身处在大数据时代的我们,究竟该如何应对变化莫测的世界? …… 没有满篇的专业术语,第一次让我们通过简单明了的语言、生动的例证了解支撑计算机王国的灵魂支柱——9大算法,包括人工智能、数据压缩,以及Google著名的PageRank等。 本书精彩地介绍了搜索引擎、PageRank、公开密钥加密、纠错码、模式识别、数据压缩、数据库、数字签名等内容。 在解释这些算法的同时,作者也向我们展示了充满科学原创精神的计算机世界:因为每一种算法的提出不但延伸了虚拟世界的领域,同时也是人类智慧的彰显,可以被广泛运用于众多领域。 在读完本书后,你不会成为一名更加熟练的计算机用户,但你会更珍视自己每天在所有计算设备上不停使用的思想的美。 我们每天都会进行多次搜索查询,但是你想过这个令人惊叹的工具是如何奏效的吗? 谷歌的精英管理层因为谷歌“以超乎寻常的技巧返回相关度极高的结果”而获奖,他们是怎么做到的? 本书将带你一探究竟。