To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
The introduction chapter outlines the need for qualitative research in the age of digitalization. The chapter outlines the opportunities and challenges which digital technologies and digitalization provide and enable. The chapter explicates the need to understand the different aspects of digitalization, the opportunities, issues, challenges and implications at different levels (individual, work, organizational, societal) and outlines the need of qualitative research to understand these phenomena. The chapter discusses the methodological opportunities and challenges for digital qualitative research enabled through digitalization.
How should human values be integrated into the studies of digital qualitative research? This chapter proposes an answer to this question. It discusses the implications for qualitative researchers of human values in a digital-first world. In a digital-first world, digital technologies are simply taken for granted, and people see the world through digitally computed reality. The chapter offers a way to address the question of including human values in qualitative research in a digital society. It provides basic definitions of key concepts and illustrates them using practical examples of how human values are informing digital research from cultural, spiritual and Indigenous perspectives. As the diversity of human values contributes to the richness of meaning and everyday experiences, it is hoped that scholars and students of digital technology will examine, describe and integrate those values in their research. It is suggested that integrating human values in qualitative studies can contribute to interdisciplinarity in research.
The present and following chapter extend the treatment of the dictionary problem to the case of more sophisticated forms of key matching, namely prefix match and substring match between a variable-length pattern string and all strings of an input dictionary. In particular, this chapter addresses the former problem, which occurs in many real-life applications concerned, first and foremost, with key-value stores and search engines. Discussion starts with very simple array-based solutions for internal and external memory (i.e. disks), and then moves to evaluate their time , space, and I/O complexities, which motivates the introduction of more advanced solutions for string compression (i.e. front coding and locality-preserving front coding), and data-structure design for prefix string search (i.e. compacted tries and Patricia tries). The chapter is concluded with a discussion on the management of dynamic and very large string dictionaries, which leads to the description of String B-trees. As for all previous chapters, the algorithmic discussion is enriched with pseudocodes, illustrative figures, and many running examples.
This chapter deals with the design of compressed data structures, an algorithmic field born just 30 years ago which now offers plenty of compressed solutions for most, if not all, classic data structures such as arrays, trees, and graphs. This last chapter aims at providing just an idea about these novel approaches to data structure design, by discussing the ones that we consider the most significant and fruitful, from an educational point of view. A side effect of this discussion will be the introduction of the paradigm called “pointerless programming,” which waives the explicit use of pointers (and thus integer offsets of four–eight bytes to index arbitrary items, such as strings, nodes, or edges) and instead uses compressed data structures built upon proper binary arrays that efficiently subsume the pointers, and support efficiently/optimally some interesting query operations over them.
Real analysis is a branch of mathematics focusing on the study of real numbers and related objects. Sets of real numbers, sequences, functions, and series of real numbers are at the core of the subject. The notions of limits and convergence are central in analysis and are used to investigate such objects. Learning real analysis means, in part, deepening our understanding and studying the theoretical foundations of calculus topics. For these reasons, many view real analysis as a rigorous version of calculus. In this chapter, we look at how limits of sequences and function can be formally defined. The precise definitions may require some effort to grasp, but it is absolutely essential for advanced studies in mathematics and related fields. Formal definitions of limits allow us to not only prove various statements (such as the Extreme and the Intermediate Value Theorems, often proved in a Real Analysis course), but also investigate more complicated functions and sequences. Our experience with proof writing and logical statements will be invaluable for our discussion. We also highlight the use of limits to defining continuity and differentiability of functions.
This chapter deals with the design of data structures and algorithms for the substring search problem, which occurs mainly in computational biology and textual database applications to date. Most of the chapter is devoted to describing the two main data-structure champions in this context, the suffix array and the suffix tree. Several pseudocodes and illustrative examples enrich this discussion, which is accompanied by the evaluation of time, space, and I/O complexities incurred by their construction and by the execution of some powerful query operations. In particular, the chapter deals with the efficient/optimal construction of large suffix arrays in external memory, hence describing the DC3 algorithm and the I/O-efficient scan-based algorithm proposed by Gonnet, Baeza-Yates, and Snider, and the efficient direct construction of suffix trees, via McCreight’s algorithm, or via suffix arrays and LCP arrays. It will also detail the elegant construction of this latter array in internal memory, which is fundamental for several text-mining applications, some of which are described at the end of the chapter.